반응형
데이터 타입
✅ 자바스크립트 데이터 타입
구분 | 데이터 타입 | 설명 |
---|---|---|
원시타입 | 숫자number 타입 | 숫자. 정수와 실수 구분 없이 하나의 숫자 타입만 존재 |
문자열string 타입 | 텍스트 데이터를 나타내는데 사용 작은따옴표(''), 큰따옴표(""), 백틱(``)으로 텍스트를 감싼다. | |
불리언boolean 타입 | 논리적 참(true)와 거짓(false) | |
undefined 타입 | 자바스크립트 엔진이 변수를 초기화 할 때 사용하는 값 변수를 참조했을 때 undefined가 반환된다면 참조한 변수가 선언 이후 값이 할당된 적이 없는, 즉 초기화되지 않은 변수이다. |
|
null 타입 | null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용 변수에 null을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미이다. |
|
심벌symbol 타입 | ES6에서 추가된 7번째 타입 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이며 객체의 유일한 프로퍼티 키를 만들기 위해 사용 |
|
객체 타입 | 객체, 함수, 배열 등 자바스크립트를 이루고 있는 거의 모든 것은 객체이다. |
const number = 123;
const string = 'Test';
const boolean = true;
const Undefined = undefined;
const Null = null;
const symbol = Symbol('symbol');
console.log(typeof number); // number
console.log(typeof string); // string
console.log(typeof boolean); // boolean
console.log(typeof Undefined); // undefined
console.log(typeof Null); // object
console.log(typeof symbol); // symbol
null의 type이 object인 것은 자바스크립트의 버그
https://archive.ph/sPyGA#selection-107.1-107.169
✅ 데이터 타입이 왜 필요한가?
데이터 타입에 의한 메모리 공간의 확보와 참조
메모리에 값을 저장하려면 먼저 확보해야할 메모리 공간의 크기를 결정해야하기 때문
-> 변수에 할당되는 값의 데이터 타입에 따라 확보해야 할 메모리 공간의 크기가 결정된다.
데이터 타입에 의한 값의 해석
자바스크립트는 값을 2진수로 저장하며 데이터 타입에 따라 2진수를 해석하는 방법이 다르다.
ex) 0100 0001 -> 숫자로 해석하면 65, 문자열로 해석하면 'A'
✅ 동적 언어
자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정된다.
그리고 재할당에 의해 변수의 타입은 언제든지 바뀔 수 있다.
동적 타입 언어의 변수는 값에 따라 타입도 변경 될 수 있고 자바스크립트는 엔진에 의해 암묵적으로 타입이 변환되기도 한다.
즉 유연성은 높지만 신뢰성은 떨어진다.
정적 타입 언어
자바 같은 정적 타입 언어는 변수를 선언할 때 데이터 타입을 사전에 선언하며 컴파일 시점에 타입 체크를 수행하고 데이터 타입에 맞지 않는 값을 할당하면 에러를 발생시킨다.
☑️ 변수를 사용할 때 주의점
- 무분별한 변수의 사용은 지양한다.
- 변수의 유효 범위를 최대한 좁게 만들어 부작용을 억제한다.
- 전역 변수는 최대한 사용하지 않는다.
- 변수보다는 상수를 사용해 값의 변경을 억제한다.
- 변수 이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다.
반응형
'TIL' 카테고리의 다른 글
SSR vs CSR (0) | 2022.04.04 |
---|---|
브라우저 렌더링 과정 (0) | 2022.04.04 |
WebRTC ver.1 (0) | 2022.03.14 |
[자바스크립트] 변수 (0) | 2022.03.14 |
[자바스크립트] 자바스크립트 변수 선언 방법 (0) | 2022.03.13 |