object 정리

백민철·2022년 5월 8일
0
post-thumbnail

Object

key:value의 집합으로 구성된 속성(프로퍼티)의 집합이다. 객체라고 부른다.

object-literal(객체 리터럴)

{key:value}형태로 객체를 정의하는 것

const obj = {
    name: 'test',
};
  • 동적으로 속성을 추가및 제거할 수 있다.
const obj = {
    name: 'test',
};

obj.color = 'brown'; // 추가

delete obj.color; // 제거

object constructor(객체 생성자)

new 키워드와 생성자 함수를 통해 생성하는 방법

function Pet(name)) {
  this.name = name;
}

const pet1 = new Pet("test");

Dot Notation (점 표기법)

. 으로 객체의 속성에 접근하는 것

const obj = {
    name: 'test',
};
console.log(obj.name);

Bracket Notation (괄호 표기법)

  • 동적인 접근 가능
  • [ ](대괄호) 사용
  • string타입으로 지정해야함
const obj = {
    name: 'test',
    color: 'brown',
};

function printValue(obj, key) {
    console.log(obj[key]);
}
printValue(obj, name);
printValue(obj, color);

Property value shorthand (단축 속성명)

key와 value가 동일하다면 value를 생략할 수 있다.

let name = 'test';
const obj = {
    name, //단축 속성명을 쓰지 않았을 땐 name:name이라고 해야함
};
console.log(obj.name); //test

in operator

객체에 key값에 해당하는 속성이 있는지 확인

const obj = {
    name: 'test',
};
console.log('name' in obj); //true
console.log('color' in obj); //false

object assign

객체 복사시 사용

const fruit1 = { color: 'yellow' };
const fruit2 = {
    color: 'blue',
    size: 'big',
};

const mixed = Object.assign({}, fruit1, fruit2);
console.log(mixed.color); // blue
console.log(mixed.size); //big 동일한 속성이 나오게되면 값을 덮어버림

0개의 댓글