javascript의 객체

J·2023년 10월 22일

javascript

목록 보기
2/6

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);
profile
꾸준한 노력파 개발자의 이모저모

1개의 댓글

comment-user-thumbnail
2023년 10월 23일

평소에 자주 사용하고 있는 것들인데도 그동안 잊고 있었던 것들이 있다는 것을 알게 되었습니다! 덕분에 하이픈 규칙과 메서드 축약 표현에 대한 기억이 다시 돌아왔네여! Object.create 는 처음 보는 객체 생성 방법이네요!
최근에 deep dive 글들을 보니 방 구석에 잠들어 있던 deep dive 책을 꺼내어 다시 봐야 겠다는 생각이 들었습니다. 카멜레온 위에 쌓여있던 먼지, 오늘 털어냈습니다ㅎㅎ

답글 달기