JS-객체

뿌야·2022년 10월 17일
0

자바스크립트

목록 보기
2/24

객체를 새롭게 생성하고 싶을 때

let person = {};

이 방식을 주로 사용한다. 이를 객체 리터럴 방식이라고 한다.
생성자 방식은 다음과 같은데, 주로 객체 리터럴 방식을 사용한다.

let person = new Object();

객체는 const로 선언을 하더라도 객체 내용에 변화를 줄 수 있다.
객체의 key나 value를 바꾸거나 삽입, 삭제하는 것은 const 그 자체를 바꾸는 것은 아니기 때문이다.

const person = {
  name: "챌",
  age: "25"
};
person.location = "Korea";
person["gender"]="female";

.방식, []방식으로 모두 삽입이 가능하다. []방식을 사용할 때에는 ""를 잊지말고 넣어주어야 한다. 마찬가지 방법으로 value값의 업데이트도 가능하다.

const person = {
  name: "챌",
  age: "25"
};
delete person.age;
person.name = null;

위의 방식으로 객체에서의 내용을 삭제할 수도 있다. 하지만 delete방식은 객체의 연결을 끊을 뿐 메모리에는 여전히 남아있다. 따라서 아래의 person.name=null로 바꿔 메모리를 날리는 방법으로의 삭제를 추천한다.

객체에서 value는 그 어떤 것도 담을 수 있다. Number, String, function 등. 다만 객체에서 value로 쓰이는 function은 구분을 해주기 위해 method라고 불린다.

const person = {
  name: "챌",
  age: "25",
  say: function(){
    console.log(`Hi I'm ${this.name}`);
};

객체 내에서는 this로 해당 객체를 지칭할 수 있다. 예를 들어 this.name은 person.name과도 같다.

const person = {
  name: "챌",
  age: "25",
  say: function(){
    console.log(`Hi I'm ${this.name}`);
};
  
console.log(`name: ${"name" in person}`);

in을 이용하여 객체 안에 해당 key값이 있는지를 확인해볼 수도 있다.
위의 경우 true를 콘솔창에 띄우게 된다.

0개의 댓글