Programming
객체
c29130811
2021. 5. 17. 22:38
원시 타입은 단 하나의 값만 나타내고 불변이지만, 객체는 이와 다르게 여러 가지 값이나 복잡한 값을 나타낼 수 있으며, 변할 수도 있다.
객체에도 중괄호, 즉 { }를 사용하는 리터럴 문법이 있으며, 중괄호 안에 객체의 콘텐츠로 키(key), 값(value)로 구성된 프로퍼티(property)를 추가 할 수 있으며, 키에는 문자형, 값엔 모든 자료형이 추가 될 수 있다.
// 객체 생성자 문법
let person1 = new Object();
// 리터럴 문법
let person2 = {
name: 'june',
age: 20
};
객체 프로퍼티 추가
let person4 = {};
person4.name = "a";
person4["working"] = true;
// person4
// {name: "a", working: true}
객체 프로퍼티 값 얻기
프로퍼티 이름에 유효한 식별자를 써야 멤버 접근 연산자(member access operation) .을 사용할 수 있다.
프로퍼티 이름에 유일한 식별자가 아닌 이름을 쓴다면, 계산된 멤버 접근 연산자(computed member access operation) []을 사용해야 한다.
let person5 = {
"family-name" : "a",
}
person5["family-name"] //"a"
위 상황처럼 key에 띄어쓰기 또는 대시 등의 값이 입력된 상태로, 접근 할 때는 대괄호를 통해 value로 접근한다.
객체 프로퍼티 삭제
delete 를 사용하여 프로퍼티를 삭제할 수 있다.
let person6 = {
name: 'c',
age: 20
}
delete person6.name //true
person6
// {age: 20}
단축 프로퍼티
ES6에 추가된 기능으로 객체의 프로퍼티 일부가 이미 같은 이름의 변수로 존재할 경우 사용한다.
const name = "abc";
const user = {
age: 24,
name, // 단축
}
user
//{age: 24, name: "abc"}
728x90