판다꼬마 2022. 5. 15. 21:50
728x90
let person = {
  key: "value", //프로퍼티 (객체 프로퍼티)
  key1: "value2",
  key2: true,
  key3: undefined
};


객체 리터럴 방식

객체는 비 원시자료형, 여러 가지 자료형을 가질 수 있다.
key: "value",       

왼쪽에 키, 오른쪽에 벨류로 구성 되면  

프로퍼티 (객체 프로퍼티)
벨류에는 어떤 자료형이 와도 상관이 없다.
키는 반드시 문자열로 구성되어야 한다. ""는 사용 x

console.log(person.key1); 점표 기법


console.log(person ["key3"]); 괄호 표기법

person.location = "123";
person ["gigi"] = "3333";
이렇게 값을 객체에 추가도 가능하고

person.key="ghghgh";
로 수정도 가능하다

delete person ["key"];
삭제도 가능하다
이렇게 삭제해도 메모리에 연결을 지우지 않으므로
person.key=null;
로 삭제를 하면 메모리에서 날릴 수 있어서 이렇게 삭제하는 것이 더 좋다.


let person = {
  name: "추성준",
  age: 24,
  say: function () {
    console.log(`안녕 나는 ${person["name"]}`);
   //console.log(`안녕 나는 ${this.name}`);
   //이것도 위와 같은 코드이다.
  }
};


이렇게 객체를 만들면 name이 바뀌어도 계속 바뀌면서 호출을 할 수 있다.

 


console.log(`name: ${"name" in person}`);
이 의미는person객체 안에 name이라는 키를 가지는 프로퍼티가 있냐? 라는 의미이다.


console.log(`name: ${"gender" in person}`);

이렇게 작성을 하면 person 객체안에 gender라는 프로퍼티가 없으므로 false를 반환한다.

728x90