2.1 객체와 대괄호 다시 보기

라이브러리나 프레임워크의 코드들을 보면 난해한 코드가 많다. 이런 코드를 읽고 테스트 케이스를 함께 살펴보는 것은 코딩 실력을 키우는 데 많은 도움이 된다.

2.1.2 객체와 key

var obj = { a: 1, "b": 2 }; // 일반적인 key 정의
obj.c = 3;
obj['d'] = 4; // [] 를 활용한 키 정의
var e = 'e';
obj[e] = 5; // 변수를 key 로
function f() { return 'f'; } 
obj [f()] = 6; // 함수의 결과를 key 로

[]{}의 차이점

{}안의 key 정의부에서는 코드 실행 불가하지만 []의 내부에서는 코드 실행이 가능

var obj5 = { (true ? "a" : "b"): 1 }; // ❌
var obj5 = { [true ? "a" : "b"]: 1 }; // ES6 👍
obj6[true ? "a" : "b"] = 1; // 👍

2.1.3 함수나 배열에 담기

자바스크립트에서는 함수와 배열 모두 객체이다. 따라서 key를 사용하여 속성을 할당할 수 있다.

2.1.4 delete

자바스크립트에서는 기본 객체의 메서드나 프로퍼티도 지울 수 있다.

2.2 함수 정의 다시 보기

2.2.1 기본 정의

function declaration(함수 선언문)