일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 에라토스테네스의 체
- 맵
- 그리디
- 세그먼트 트리
- 누적 합
- 모던 JavaScript 튜토리얼
- 플로이드-워셜
- DFS
- 슬라이딩 윈도우
- 이분 탐색
- 수학
- 구현
- boj
- 정렬
- Python
- 그래프
- 2357
- JavaScript
- 트리
- 브루트포스
- DP
- 투 포인터
- 정수론
- SSAFY
- 애드 혹
- 싸피
- 13164
- 해시 테이블
- BFS
- 문자열
- Today
- Total
흙금이네 블로그
[자바스크립트 기본] 04. 변수와 상수 본문
자바스크립트에서는 변수 선원과 값 할당을 한 줄에 작성할 수 있다.
그러나 권장하는 방법은 아니며, 가독성을 위해 한 줄에 하나의 변수를 작성하는 것이 좋다.
let name = 'John', age = 27, message = 'Hello';
let name = 'John';
let age = 27;
let message = 'Hello';
let name = 'John',
age = 27,
message = 'Hello';
변수를 두 번 선언하면 에러가 발생한다.
let message = 'OK';
let message = 'Error'; // SyntaxError: 'message' has already been declared
let message = 'OK';
message = 'No Error';
참고로 Scala, Erlang과 같은 함수형 프로그래밍 언어는 변수 값 변경이 금지된다.
변수명에는 오직 문자와 숫자, 기호 $와 _만 들어갈 수 있으며, 숫자는 첫 글자에 오지 못한다.
let userName;
let test123;
let 123test; // 불가능
여러 단어를 조합하여 변수명을 만들 때는 주로 카멜 표기법이 사용된다.
카멜 표기법은 첫 단어를 제외한 나머지 단어의 첫 글자를 대문자로 나타내는 표기법이다.
let camelCase;
변수명은 대소문자를 구분하며, 모든 언어를 변수명에 사용할 수 있으나 가급적 영어를 사용할 것을 권장하고 있다.
let, class, return 등의 예약어는 변수명으로 사용할 수 없다.
let let = 1; // Error
let return = 2; // Error
use strict를 사용하지 않으면 let 키워드를 사용하지 않고도 변수를 생성할 수 있다.
그러나 엄격 모드에서는 에러가 발생하므로 지양해야 한다.
num = 3; // 엄격 모드에서는 'error: num is not defined'
상수는 const 키워드로 선언하며, 값을 재할당할 수 없다.
const myAge = 27;
myAge = 26; // error, can't reassign the constant!
기억하기 어려운 값을 상수로 만들어 사용하기도 하는데, 이러한 상수의 이름은 관습적으로 대문자와 밑줄로 구성한다.
const COLOR_ORANGE = "#FF7F00";
let color = COLOR_ORANGE;
alert(color); // #FF7F00
런타임 과정에서 계산되어 할당되는 상수는 일반적인 방식으로 변수명을 짓고,
코드 실행 이전에 이미 값이 정해져 있는(하드 코딩한) 상수는 대문자를 사용하여 변수명을 지으면 된다.
변수명은 사람이 읽을 수 있고, 명확한 경우를 제외하고는 가급적 줄임말이나 짧은 이름을 피하는 것이 좋다.
최대한 서술적이면서 간결하게 명명하면서 일관성 있고 팀 컨벤션에 맞게 변수명을 지어야 한다.
새로운 변수를 선언하지 않고 기존 변수를 재사용하는 것은 디버깅할 때 어려움을 야기한다.
모던 자바스크립트 압축기와 브라우저에서는 코드 최적화가 잘 이뤄져 변수 추가에 따른 성능 이슈가 없고,
값이 다른 경우에는 변수를 다르게 선언해주는 것이 오히려 코드 최적화에 도움이 될 수 있다고 한다.
참고
'TIL > JavaScript' 카테고리의 다른 글
[자바스크립트 기본] 06. alert, prompt, confirm을 이용한 상호작용 (0) | 2023.01.11 |
---|---|
[자바스크립트 기본] 05. 자료형 (0) | 2023.01.11 |
[자바스크립트 기본] 03. 엄격 모드 (0) | 2022.12.28 |
[자바스크립트 기본] 02. 코드 구조 (0) | 2022.12.27 |
[자바스크립트 기본] 01. Hello, world! (0) | 2022.12.25 |