9/5 학습
8770 단어 JavaScript객체JavaScript
객체란?
- key 와 value로 구성된 property의 집합
- 원시 타입을 제외한 나머지 값(함수 , 배열, 정규식 등)은 모두 객체이다.
- 원시 타입은 변경 불가능(immutable)하지만 객체는 변경 가능(mutable)하다.
- 프로퍼티 값이 함수일 경우 method라고 부른다.
객체 생성
//객체 리터럴을 사용한 객체 생성
let obj = {
key1: 'value1',
printKey1: function(){
console.log(`${this.key1}`);
}
};
obj.printKey1(); //value1
//프로퍼티 키가 식별자 네이밍 규칙을 따르는 경우
//따옴표 생략 가능
let obj1 = {
firKey: 'value',
'sec-key': 'value' //식별자 네이밍 규칙을 따르지 않는 경우
};
//프로퍼티 키의 동적 생성
//존재하지 않는 프로퍼티 키를 선언하고 값을 할당할 수 있다.
let obj2 = {};
var key = 'Key'
obj2.secKey = 'value2'
obj2[`fir${key}`] = 'value1';
console.log(obj2.firKey); //value1
console.log(obj2.secKey); //value2
프로퍼티 접근
//프로퍼티 접근
//dot noatation
console.log(obj2.firKey); //value1
//bracket notation
console.log(obj2['secKey']); //value2
//선언하지 않은 프로퍼티에 접근
console.log(obj2.thrKey); //undefined
//선언된 프로퍼티지만 잘못 접근한 경우
console.log(obj2[secKey]); //ReferenceError: secKey is not defined
프로퍼티 삭제
//프로퍼티 삭제
delete obj2.secKey;
console.log(obj2); //{ firKey: 'value1' }
축약 표현
//축약 표현
//변수로 프로퍼티 생성
let key1 = 'value1', key2 = 'value2';
let obj3 = {key1, key2};
console.log(obj3); //{ key1: 'value1', key2: 'value2' }
// 메소드 생성
// 추가 학습 필요
let obj4 = {
printHello(){
console.log('hello');
}
};
console.log(obj4.printHello()); //hello
// undefined
출처
이웅모, 모던 자바스크립트 Deep Dive(2021)
Author And Source
이 문제에 관하여(9/5 학습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@haribo/95-학습저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)