aotoyae

[JS] Object Property 객체 프로퍼티 수정, 추가, 삭제, 유무 확인 본문

JavaScript

[JS] Object Property 객체 프로퍼티 수정, 추가, 삭제, 유무 확인

aotoyae 2023. 12. 29. 18:08

 

 

객체를 프로퍼티를 맘대로 다뤄 보자!

let aoto = {
  name: "yae",
  hateFood: null
}

 

💡 프로퍼티 수정

console.log(aoto.name); // "yae"
aoto.name = "aotoyae"
console.log(aoto.name); // "aotoyae"

 

💡 프로퍼티 추가

console.log(aoto.gender); // undefined
aoto.gender = "female"
console.log(aoto.gender); // "female"

 

💡 프로퍼티 삭제

console.log(aoto.hateFood); // null
delet aoto.hateFood;
console.log(aoto.hateFood); // undefined

 

💡 프로퍼티 존재 여부 확인 (2가지 방법)

console.log(aoto.name !== undefined); // true
console.log("name" in aoto) // true

 

불일치 비교

존재하지 않는 프로퍼티는 undefined 값이 나오니 둘을 비교한다!

 

"propertyName" in object

일단 알아보기 쉽고, 만약 실수로 프로퍼티의 값에 undefined 가 할당될 수 있으니 안전하게 in 연산자를 사용하자!

 

➕ 활용 ~

if ("name" in aoto) {
  console.log(`name 값은 ${aoto.name}입니다.`)
} else {
  console.log(`name 프로퍼티는 존재하지 않습니다.`)
}

 

➕ 활용 문제 ~

str 을 읽어 객체에 key 로 각 문자를 넣어주고 그 문자가 총 몇 번 쓰였는지 value 로 넣어주기

let str = "hihelloohayo";
let array = {};

for (let i = 0; i < str.length; i++) {
  const key = str[i];
  if (array[key]) {
    array[key]++; // array 의 key 로 문자가 있다면 value 를 하나 증가
  } else {
    array[key] = 1; // 없다면 value 를 1 로 세팅
  }
}

console.log(array);
// {h: 3, i: 1, e: 1, l: 2, o: 3, y:1}