자바스크립트 데이터 타입
- 자바스크립트는 7가지의 데이터 타입을 가지고 있고 원시 타입과 객체 타입으로 분류할 수 있습니다.
원시 타입
- 원시 값은 변경 불가능한 값입니다.
- 원시 값을 변수에 할당하면 변수에는 실제 값이 저장됩니다.
- 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달되며 이를 값에 의한 전달( Pass by value )라고합니다.
객체 타입
- 객체 값은 변경 가능한 값입니다.
- 객체를 변수에 할당하면 변수에는 참조 값이 저장됩니다.
- 객체 값을 갖는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달되며 이를 참조에 의한 전달( Pass by reference )라고 합니다.
숫자 타입
// 정수
let integer = 10;
// 실수
let double = 10.12;
// 음의 정수
let negative = -20;
// true를 출력
console.log(1 === 1.0);
- 자바스크립트의 숫자 타입은 배정밀도 64bit 부동소수점 형식을 따릅니다. 모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않습니다.
숫자 타입의 특별한 값
// Infinity 출력
console.log(10 / 0);
// -Infinity 출력
console.log(10 / -1);
// NaN 출력
console.log(1 * "Hello World");
- Infinity : 양의 무한대
- -Infinity : 음의 무한대
- NaN( Not a Number ) : 산술 연산 불가
문자열 타입
let name = "devhun";
name = 'devhun';
console.log(`My name is ${name}`);
- 문자열 타입은 텍스트 데이터를 나타내는 데 사용하며 16bit 유니코드 문자 집합을 사용합니다. 문자열 표현 방법으로는 "" or '' or ``으로 문자열을 표현할 수 있습니다.
표현식 삽입
const name = "devhun";
console.log(`Hello ${name}`);
- ``을 사용해서 위와같이 변수를 문자열 중간에 삽입할 수 있습니다.
boolean 타입
let isLogin = true;
if (isLogin === false) {
console.log("Login Failed");
}
- true, false를 이용한 참, 거짓을 표현할 수 있습니다.
undefined
- undefined는 자바스크립트 엔진이 var 데이터 타입을 초기화할 때 사용하는 값입니다.
- 프로그래머가 직접 undefined를 대입을 고려해야할 때는 undefined 보다는 null을 할당하는 것이 낫습니다.
null
- null은 변수의 값이 없다는 것을 명시할 때 사용하는 값입니다.
심볼 타입
const sym = Symbol();
let obj = {};
obj[sym] = "devhun";
console.log(obj[sym]);
- 심볼 타입은 ES6에 추가된 타입으로서 변경 불가능한 원시 타입의 값입니다. 심볼은 다른 값과 중복되지 않는 유일무이한 값입니다. 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용합니다.
심볼 이외의 원시 값은 리터럴을 통해 생성하지만 심볼은 Symbol 함수를 호출해 생성합니다. 생성된 심볼은 외부에 노출되지 않으며 다른 값과 절대로 중복되지 않는 유일무이한 값입니다.
'Programming Language > JavaScript' 카테고리의 다른 글
자바스크립트의 암묵적 타입 변환과 명시적 타입 변환 (0) | 2022.11.14 |
---|---|
자바스크립트 비교 연산자 (0) | 2022.11.14 |
자바스크립트의 값의 할당 및 재할당 방식 (0) | 2022.11.12 |
자바 스크립트 변수 선언( Variable Declaration )과 변수 호이스팅( Variable Hoisting ) (0) | 2022.11.12 |
값( value ), 리터럴( literal ), 표현식( expression ), 문( statement )이란? (0) | 2022.11.05 |