변수란?
- 변수는 값을 담기 위해 이름을 붙인 상자
- 변수는 컴퓨터의 메모리에 일정한 크기의 영역으로 생성됨
변수 선언
- let
- 모던한 변수 선언 키워드
- var
- 오래된 변수 선언 키워드
- 잘 사용하지 않음
- const
let과 비슷하지만, 변수의 값을 변경할 수 없음
변수 = 값
- 프로그램에서 = 연산자는 오른쪽 값을 왼쪽 변수에 대입하겠다는 것
- 대입을 하면 변수에 저장된 값이 새로운 값으로 바뀜
변수 선언 생략
- x = 2
- 변수를 선언하지 않은 상태에서 값을 대입하면 JS엔진이 그 변수를 자동으로 전역 변수로 선언함
- 변수를 선언하지 않고 변수를 사용하는 행위는 버그의 원인이 될 수 있으므로 반드시 선언을 하자
- ECMA5부터 추가된 Strict 모드를 활용하면 선언하지 않은 변수에 값을 대입했을 때 오류가 발생하여, 선언하지 않은 변수를 찾아낼 수 있음
변수 끌어올림(호이스팅)과 변수 중복 선언
- 프로그램은 작성한 순서에 따라 윗줄부터 차례대로 실행되는 것이 원칙이지만, 변수 선언은 이 원칙을 따르지 않음
console.log(x); //undefined (오류가 발생하지 않음)
var x;
- 호이스팅(hoisting)
- 변수 선언의 끌어올림, 프로그램 중간에서 변수를 선언하더라도 변수가 프로그램 첫머리에 선언된 것처럼 다른 문장 앞에 생성됨
- 단, 선언과 동시에 대입하는 코드는 끌어올리지 않음
- 호이스팅은 다른 언어에는 없는 JS만의 고유한 특징
console.log(x); //undefined
var x = 5;
console.log(x); //5
변수의 명명 규칙
- 식별자
- 변수, 함수, 라벨 이름 등 사용자가 정의하는 이름
- 알파벳, 숫자, 밑줄, 달러기호$만 사용할 수 있음
- 첫 글자로 숫자 사용 불가
- 예약어를 식별자로 사용 불가
- 객체 이름 사용 불가
- 많이 사용하는 표기법 3가지
- 캐멀 표기법
- 두 번째 이후 단어의 첫 글자를 대문자로 표기하고 나머지는 소문자로 표기
- newName
- 파스칼 표기법
- 각 단어의 첫 글자만 대문자로 표기
- NewName
- 각 단어의 첫 글자만 대문자로 표기
- 밑줄 표기법(스네이크 표기법)
- 모든 단어를 소문자로 표기하고 단어와 단어를 밑줄로 구분
- new_name
- 모든 단어를 소문자로 표기하고 단어와 단어를 밑줄로 구분
- 캐멀 표기법
- 일반적으로 사용하는 표기법
- 루프 카운터 변수 이름은 i, j, k 등을 사용
- 상수는 대문자로 표현
- MAX_SIZE
- 논리값을 표현하는 변수에는 이름 앞에 is를 붙임
- isMouseDown
- 생성자 이름은 파스칼 표기법을 사용
이 글은 모던 자바스크립트 입문(이소 히로시)을 참고하여 작성되었습니다.
'프로그래밍 언어 > JavaScript' 카테고리의 다른 글
[JavaScript] 데이터 타입 (0) | 2022.12.29 |
---|---|
[JavaScript] 프로그램 작성법-유니코드/토큰/파싱/주석 (0) | 2022.12.08 |
[JavaScript] 순수 자바스크립트란? (0) | 2022.12.07 |
[JavaScript] 자바스크립트 실행 환경 (0) | 2022.12.07 |
[JavaScript] 클라이언트 측 자바스크립트 & 서버 측 자바스크립트 (0) | 2022.10.05 |