변수와 식별자
식별자
식별자(identifier) : 변수를 구분할 수 있는 변수명
- 식별자는 반드시 문자, 달러($) or 밑줄(_)로 시작
- 대소문자를 구분
- 클래스명 외에는 모두 소문자로 시작
- 예약어는 식별자로 사용 불가능
식별자 작성 스타일
카멜 케이스(camelCase)
파스칼 케이스(PascalCase)
대문자 스네이크 케이스(SNAKE_CASE)
변수 선언 키워드
let
- 변수 재선언이 불가능하고, 재할당은 가능하다.
- 값이 변경 될 변수 선언할 때 사용
const
var
- 변수 재선언 및 재할당이 가능하다.
- 호이스팅되는 특성으로 인해 예기치 못한 문제 발생 가능
호이스팅(Hoisting) : 변수를 선언 이전에 참조할 수 있는 현상(undefined)
- 따라서 ES6 이후부터는 호이스팅 문제 때문에 var 대신 const와 let을 사용하는 것을 권장
데이터 타입
자바스크립트의 데이터타입은 크게 원시 타입(Primitive type)과 참조 타입(Reference type)으로 분류됨
원시 타입 (Primitive type)
- 객체(object)가 아니면서 메서드도 가지지 않는 데이터
- 변수에 해당 타입의 값이 담김
- 불변하여 변형할 수 없습니다.
- 다른 변수에 복사할 때 실제 값이 복사됨
참조 타입(Reference type)
- 객체 (object) 타입의 자료형
- 변수에 해당 객체의 참조 값이 담김
- 다른 변수에 복사할 때 참조 값이 복사됨
원시 타입 (Primitive type)
숫자 (Number) 타입
- 정수, 실수 구분 없는 하나의 숫자 타입
- 부동소수점 형식을 따름
- (참고) NaN (Not-A-Number) : 계산 불가능한 경우 반환되는 값 ex)
‘Apple’ / 5
⇒ NaN
문자열 (String) 타입
- 텍스트 데이터를 나타내는 타입
- 16비트 유니코드 문자의 집합
- 작은따옴표 또는 큰따옴표 모두 가능
- 템플릿 리터럴 (Template Literal)
- 따옴표 대신 backtick(`)으로 표현
${ expression }
형태로 표현식 삽입 가능
undefined
- 변수의 값이 없음을 나타내는 데이터 타입
- 변수 선언 이후 직접 값을 할당하지 않으면, 자동으로 undefined가 할당됨
null
- 변수의 값이 없음을 의도적으로 표현할 때 사용하는 데이터 타입
Boolean 타입
- 논리적 참 또는 거짓을 나타내는 타입
- true 또는 false 로 표현
- 조건문 또는 반복문에서 유용하게 사용