javascript-deep-dive 10강을 공부한 후 정리하는 내용이다.
0개 이상의 프로퍼티로 구성된 집합
//객체 리터럴
const obj1 = {
name : "object1",
}
//Object 생성자 함수
const obj2 = new Object();
obj2.name = "object2";
// 생성자 함수
const person - new Person("person");
//Object.create
const me = Object.create(person);
//클래스
class Person {
//...
}
const person = {
name : "J", //프로퍼티 나열은 구분자는 , 사용
age : 20,
//favorite-hobby : "study", // 하이픈(-)이 연산자로 취급되어 SyntaxError
"favorite-hobby" : "study", //하이픈을 넣을 경우 따옴표로 묶어줘야함
}; //객체 리터럴은 값으로 평가되어 세미콜론이 붙음
person.name; //접근시 . 사용
person.favorite-hobby; // 불가능
person["favorite-hobby"]; //대괄호로 접근시 무조건 따옴표로 묶어줘야함
person[name] //name이 변수로 취급됨
const person = {
name : "J",
}
person.age = 20; //동적으로 추가 가능
ES6에서부터는 변수 이름과 프로퍼티 키가 동일한 경우에 키를 생략할 수 있음
const name = "J";
const person = {
name;
}
console.log(person.name); //J
메서드의 function 키워드도 생략할 수 있다.
const person = {
name : "J",
hello (){
console.log(`${this.name} : 안녕`);
}
}
console.log(person.name);
평소에 자주 사용하고 있는 것들인데도 그동안 잊고 있었던 것들이 있다는 것을 알게 되었습니다! 덕분에 하이픈 규칙과 메서드 축약 표현에 대한 기억이 다시 돌아왔네여! Object.create 는 처음 보는 객체 생성 방법이네요!
최근에 deep dive 글들을 보니 방 구석에 잠들어 있던 deep dive 책을 꺼내어 다시 봐야 겠다는 생각이 들었습니다. 카멜레온 위에 쌓여있던 먼지, 오늘 털어냈습니다ㅎㅎ