객체 다루기

iikasam·2022년 4월 4일
0
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 값은 코드잇입니다. 출력
profile
묵묵히, 꾸준히,

0개의 댓글

관련 채용 정보