var person = {
name: 'jini',
age: 12
};
person.adress = 'seoul';
delete person.age;
console.log(person.name); // 1️⃣
console.log(person['name']); // 2️⃣
console.log(person.adress); // 3️⃣
console.log(person[name]); // 4️⃣
console.log(person.age); // 5️⃣
var person = {
name: {
first: 'jini',
last: 'choi'
},
age: 12
};
var copy = person;
copy.age = 21;
console.log(person.age); // ?
console.log(add(2, 5)); // 1️⃣
console.log(minus(10, 5)); // 2️⃣
function add(x, y) {
return x + y;
};
const minus = function foo(x, y) {
return x + y;
};
스코프는 "(ㅤㅤㅤㅤㅤㅤㅤ)"이라고 표현하는 것이 적절하다.
변수의 생명 주기는 메모리 공간이 (ㅤㅤㅤ)된 시점부터 메모리 공간이 (ㅤㅤㅤ)되어 가용 메모리 풀(memory pool)에 (ㅤㅤㅤ)되는 시점까지다.
[]
표기법은 따옴표 지정(책에서는 에러로 나오는데 테스트시 undefined 출력됨)1️⃣은 함수 선언문으로 정의된 함수로 코드가 한줄 씩 순차적으로 실행되기 시작하는 런타임에는 이미 함수 객체가 생성되어 있고 함수 이름과 동일한 식별자에 할당까지 완료된 상태이기 때문에 함수 선언문 이전에 함수를 참조할 수 있으며 호출할 수도 있다. -> 함수 호이스팅
2️⃣는 함수 표현식으로 정의한 함수로 변수에 할당되는 값이 함수 리터럴인 문이다. 변수 선언문과 변수 할당문을 한번에 기술한 축약 표현과 동일하게 동작하기 때문에 함수 호이스팅이 아닌 변수 호이스팅이 발생한다.