JavaScirpt 공부 정리
<모던 자바스크립트 Deep Dive>의 목차를 따릅니다. 책을 발제하는 것을 기본 골조로 하고, 개인이 공부한 내용을 추가합니다.
구분 | 데이터 타입 | 설명 |
---|---|---|
원시타입 | number | 정수, 실수 구분 없이 하나의 숫자 타입만 존재 |
원시타입 | string | 문자열 |
원시타입 | boolean | 논리적 true/false |
원시타입 | undefined | var 키워드로 선언된 변수에 암묵적으로 할당되는 값 |
원시타입 | null | 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 |
원시타입 | symbol | ES6에서 추가된 7번째 타입 |
객체 타입 | - | 객체, 함수, 배열 등 |
const infinity = 1 / 0;
const negativeInfinity = -1 / 0;
const x = 'string' / 2;
var string = hello; // ReferenceError: hello is not defined
console.log(`1 + 2
= ${1 + 2}`);
// 1 + 2
// = 3
const canRead = true; // value: ture, type: boolean
const test = 3 < 1; // value: false, type:boolean
<!DOCTYPE html>
<html>
<body>
<script>
var element = document.querySelector('.myClass');
// HTML 문서에 myClass 클래스를 갖는 요소가 없다면 null을 반환한다.
console.log(element); // null
</script>
</body>
</html>
// 심벌 값 생성
var key = Symbol('key');
// 객체 생성
var obj = {};
obk[key] = 'value';
console.log(obj[key]); // value
💫TIP
- 변수는 꼭 필요한 경우에 한해 제한적으로 사용한다.
- 변수의 유효 범위(스코프)를 최대한 좁게 만들어 변수의 부작용을 억제한다.
- 전역 변수는 최대한 사용하지 않도록 한다.
- 변수보다는 상수를 사용해 값의 변경을 억제한다.
- 변수의 이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다. 마치 아이 이름 짓듯이 심사숙고해서 짓자.