한 카페에서 장사를 마무리하고 하루 정산을 하기위해 계산하려고한다.
손님1: 아메리카노 2잔 ,
손님2: 라떼 4잔, 모카2잔
손님3: 라떼 1잔, 모카1잔
손님4: 아메리카노 1잔, 라떼 4잔, 모카2잔
손님5 :라떼 3잔
이런식으로 작성하면 금액 측정을 잘못하게 될 경우 코드가 100줄 200줄 이면 규모가 커지면서 문제가 생긴다.
이 코드들이 어떤 의미인지는 작성한 본인은 알고 있지만 만약 다른사람이 볼 경우
각 숫자들이 무엇을 의미하는지 모른다. 주석을 달아 코맨트를 달아야 할정도이다.
이처럼 코드를 읽고 실행하는 것은 컴퓨터가 정확하게 해주지만 코드를 작성하는 일은 결국 사람이 하는 것.
지나치게 주관적인 코드를 작성하거나 오타를 내거나 이러한 실수를 할 가능성이 있다.
이러한 경우에는 추상화된 코드를 통해 문제를 해결해보자
▶ 추상화 - 목적을 정확하게, 불필요한 것들은 숨기기, 필요한 핵심만 드러내기
목적을 명확히 하기위해서 간략하게 요약하자면
→ 반복 입력하는 구체적인 숫자는 오타를 만들어낸다.
→ 숫자에 대한 의미전달이 어렵다.
반복되는 커피들의 공통된 숫자에 의미있는 이름을 지어 준다면 구체적인 숫자도 숨길 수있고
그 숫자의 핵심적인 의미도 부여할 수있다.
그럴 때 사용 하는 것이 변수(variable) 이다.
변수 (variable)
프로그래밍에서는 값에 이름을 부여하기 위해 이름이 붙은 상자라고 생각 하면 된다.
자바 스크립트에서 변수를 사용 할 떄는 먼저 변수를 만들어야한다. (=변수 선언)
let [변수명]
이렇게 변수를 선언한 다음부터는 키워드 없이 변수 이름만 알면 쉽게 값을 저장하고 사용 할 수있다.
변수 이름에 값을 저장하는 방법을 등호를 사용 하면된다.
let [변수명] = 값
여기서 등호는 수학에서 의미하는 "양쪽의 값이 같다" 라는 뜻과 조금 다른데,
프로그래밍에서 등호 하나는 '할당 연산자' 라고해서 "오른쪽에 있는 값을 왼쪽에 할당한다" 라는 의미이다.
즉 오른쪽에 3000이라는 값을 아메리카노 변수이름에 저장한다는 의미로 볼 수있다.
한번 콘솔에 출력해보자면
값이 정상적으로 출력 된다.
마찬가지로 나머지 커피들도 변수를 한번 만들어보자
주석처리했던 콘솔에 각 금액에 맞는 변수들로 바꿔주자
이렇게 변수를 활용해서 코드를 추상화하면 반복적으로 구체저인 값을 입력할 때마다
내가 잘 입력했는지 걱정하지 않아도되고
변수 이름은 혹시나 잘못 입력하더라도 실행했을때 콘솔창에 오류가 발생하니
어디서 무엇을 잘못 했는지 쉽게 확인할 수있다.
또한 실수로 가격을 잘못 입력했더라도 변수의 값만 바꿔주면
작성한 코드를 다시 돌아보지 않아도 다같이 변경되기에 코드가 안정적이다.
단순 숫자만 적힌 것보다 변수를 넣어 숫자의 의미를 설명 할 수있기에 이전보다 훨씬 더 이해할 수있다.
이러한 이유로 변수 이름을 잘 작성하는 것도 중요할 것이다.
변수(variable)의 작명
▼ 꼭 지켜야 하는 룰 (지키지 않으면 오류발생)
(1) JavaScript 식별자는 '문자(a-z, A-Z)', '밑줄(_)' 혹은 '달러 기호($)'로 시작해야 한다.
두 번째 글자부터는 '숫자(0-9)'도 가능하다.
(2) '대문자'와 '소문자'는 구별해야한다. myname과 myName은 다른 이름이다.
(3) '예약어(JavaScript가 찜해놓은 단어)'는 사용하면 안 된다.
예를 들어서 if, for, let 같은 것들이 있다. (예약어는 나중에 설명)
▼ 지키면 좋은 룰 (더 좋은 스타일을 위해 사용)
(1) 의미 없는 이름 사용 X
let a, b, c, d;
향후 복잡한 프로그램을 짜게 되면 변수와 함수를 여기저기서 적절히 활용해야 하는데,
이름이 a, b, c, d처럼 의미 없이 설정되어 있으면 어떤 값을 저장해뒀는지 찾기도 어렵고 활용하기도 어렵다.
또한 프로그램의 가독성이 떨어져서 나중에 스스로 프로그램을 살펴볼 때,
그리고 공동 작업을 할 때 매우 불편한 상황이 발생한다.
그래서 프로그래밍 초반부터 적절한 이름을 짓는 습관을 들이는 것이 좋다.
(2) 너무 추상적인 이름은 X
let name
상황에 따라 그냥 name이라는 변수명이 적합한 상황도 있을 수 있겠지만,
긴 프로그램을 쓰다 보면 다양한 '이름'들이 있기 때문에 name은 너무 추상적일 수 있다.
그럴 때는 조금 더 구체적인 이름으로 이해하기 쉽게 정해줘야한다.
(3) 모든 변수 이름은 'camelCase'로 쓰는 것이 좋다..
변수명에는 띄어쓰기가 불가능하기 때문에, 띄어쓰기 역할을 대신 할 무언가가 필요하다.
그중 하나가 'camelCase' 이며 중간중간의 대문자가 낙타(camel)의 혹처럼 생겨서 camelCase라고 부른다.
첫 번째 글자는 소문자로 하고, 띄어쓰기가 있는 각 단어의 첫 문자를 대문자로 표기하는 방식이다.
let bad_variable_name; // 비추천 방식
let goodVariableName; // 추천 방식
변수명을 잘 짓는 것도 하나의 프로그래밍 작업이다.
'JS' 카테고리의 다른 글
(6)JavaScript - 자료형 / 불린 (Boolean) (0) | 2024.09.15 |
---|---|
(5)JavaScript - 자료형 (숫자형과 문자열) (0) | 2024.09.15 |
(4)JavaScript - return문 (0) | 2024.09.13 |
(3)JavaScript - Parameter (매개변수) (0) | 2024.09.13 |
(2) JavaScript - 함수(function) (0) | 2024.09.12 |