let codeit = {
name: '코드잇',
bornYear : 2017,
isVeryNice : true,
worstCourse : null,
bestCourse: {
title : '자바스크립트 프로그래밍 기초',
language : 'Javascript'
}
};
console.log(codeit.name); // 코드잇 출력
codeit.name = 'codeit';
console.log(codeit.name); // codeit 출력
해당 프로퍼티에 접근하여 새로운 값을 할당한다.
마치 변수의 값을 재할당하는 모습과 같다.
console.log(codeit.ceo); // undefined 출력
codeit.name = '김길동';
console.log(codeit.ceo); // 김길동 출력
존재하지 않는 프로퍼티에 새로운 값을 할당해주면 새로운 프로퍼티가 추가된다.
console.log(codeit.worstCourse); // null 출력
delete codeit.worstCourse;
console.log(codeit.worstCousre); // undefined 출력
delete 연산자를 활용하면 프로퍼티를 간단하게 삭제할 수 있다.
// 1번
console.log(codeit.name !== undefined); // true 출력
// 2번 'propertyName' in object (불린 형태로 값을 리턴)
console.log('name' in codeit); // true 출력
in이라는 연산자를 사용하는 이유
짧아서 이해하기가 쉽고 프로퍼티를 확인할 때 좀 더 안전하다.
프로퍼티가 undefined 일 경우에 1번의 출력값은 false 가 된다.
undefined가 적절한 값은 아니지만
실수로 undefined 값을 할당하거나, 다른 함수나 변수에 의해서 의도치 않게 undefined 값이 할당될 수 있기 때문에 안전하게 값을 확인하기 위해서는 in 연산자를 활용하는 것이 좋다.
in 연산자는 불린값을 리턴하기 때문에 if문 조건부분에 활용하기도 좋다.
if ('name' in codeit) {
console.log(`name 값은 ${codeit.name}입니다.`);
} else {
console.log('name 프로퍼티는 존재하지 않습니다.');
}
// name 값은 코드잇입니다. 출력