[JavaScript] JavaScript #2: 데이터 타입, 변수, 동적 타이핑(Dynamic Typing), 변수 호이스팅(Variable Hoisting)
boolean
true, falsenull
false로 간주한다. (boolean type)
변수에 값이 없음을 명시하려면 null 값을 할당한다.
Null, NULL과 다르다.
typeof로 null 값을 가지는 변수의 타입을 출력해보면 object가 나오는데, 이것은 자바스크립트 설계 상의 오류라고 한다.
var foo = null;
console.log(typeof foo); // object
null 타입 확인: 일치 연산자(===) 사용
var foo = null;
console.log(typeof foo === null); // false
console.log(foo === null); // true
undefined
false로 간주한다. (boolean type)
선언하고 값을 할당하지 않은 변수가 가지는 값 (자바스크립트 엔진에 의해 초기화된 값)
존재하지 않는 객체 property에 접근할 경우
var foo;
console.log(foo); // undefined
number
Infinity: 양의 무한대, -Infinity: 음의 무한대, NaN: 산술 연산 불가(Not a Number)false로 간주한다. (boolean type)string
작은 따옴표(''), 큰 따옴표("")에 텍스트 넣어 문자열을 표현하는데, 일반적으로는 작은 따옴표('')를 사용한다.
문자열을 변경할 수 없다. 기존의 문자열을 변경하는 것이 아닌, 새로운 문자열로 재할당하면 새로운 문자열을 새롭게 할당하게 된다.
var str = 'string';
str[0] = 'S'; // 변경 불가
console.log(str); // result: string
비어있는 문자열은 false로 간주한다. (boolean type)
symbol
property key를 생성하기 위해서 사용한다.Symbol 함수 호출해서 심볼을 생성한다.property(이름, 값 가지는 데이터) & method(동작) 포함하는 독립적 주체선언: var, let, const 키워드
중복 선언 가능
var person = 'Lee';
address = 'Seoul';
price = 200;
할당: 할당 연산자(=) 사용
참조: 변수명 사용해서 변수에 저장된 값 참조
undefined: 값을 할당하지 않은 변수의 초기값
ReferenceError: 선언하지 않은 변수 접근 시 오류
var x;
console.log(x); //undefined
console.log(y); //ReferenceError
Type Inference: 값이 할당되는 과정에서 값의 타입이 자동으로 결정된다.Dynamic typing: 하나의 변수에 여러 타입의 값을 할당할 수 있는 것자바스크립트에서는 모든 선언문(var, let, const, function, function*, class)이 선언되기 전에 참조할 수 있다.
console.log(foo); // undefined. ReferenceError 발생 X
| [JavaScript] JavaScript #4: 객체 (Object) (0) | 2021.01.30 |
|---|---|
| [JavaScript] JavaScript #3: 연산자, 타입변환, 단축 평가 (0) | 2021.01.30 |
| [JavaScript] JavaScript #1: 자바스크립트 개요 (0) | 2021.01.29 |
| [Bootstrap] Bootstrap 다운로드 & 설치 (feat. VSCode) (0) | 2021.01.29 |
| [HTML] Semantic Web(시맨틱 웹) (0) | 2021.01.28 |