DAY 012. 코드스테이츠 3주차 - JS (객체)

슈레더·2021년 6월 29일
0

코드스테이츠

목록 보기
12/25
post-thumbnail

객체 메서드 목록(MDN)

MethodDescription
Object.assign()하나 이상의 원본 객체들로부터 모든 열거가능한 속성들을 대상 객체로 복사합니다.
Object.create()주어진 프로토타입(prototype)의 객체와 속성들을 갖고 있는 새 객체를 생성합니다.
Object.defineProperty()주어진 기술자(descriptor)에 의해 기술된(described) 이름붙은 속성을 객체에 추가합니다.
Object.defineProperties()주어진 기술자들에 맞는 이름붙은 속성들을 객체에 추가합니다.
Object.freeze()객체를 프리징(freeze)합니다. 즉, 다른 곳의 코드에서 객체의 속성을 지우거나 바꿀 수 없습니다.
Object.getOwnPropertyDescriptor()객체의 이름붙은 속성의 기술자를 반환합니다.
Object.getOwnPropertyNames()주어진 객체 자신만의 열거가능하거나 열거불가능한 속성들의 이름을 포함하는 배열(array)을 반환합니다.
Object.getOwnPropertySymbols() (en-US)주어진 객체에서 바로 찾을 수 있는 모든 심볼 속성을 배열로 반환합니다.
Object.getPrototypeOf()명시된 객체의 프로토타입을 반환.
Object.is()두 값이 같은지를 비교합니다. 모든 NaN 값은 같다고 처리됩니다.(다른 추상적 또는 엄격한 등호 비교에서는 다르게 처리됩니다)
Object.isExtensible()객체의 확장이 가능한지 확인합니다.
Object.isFrozen()객체가 프리징 되었는지 확인합니다.
Object.isSealed()객체가 실링(seal) 되었는지 확인합니다.
Object.keys()주어진 객체 자신의 열거가능한 속성들의 이름의 배열을 반환합니다.
Object.preventExtensions()객체가 확장되는 것을 못하도록 합니다.
Object.seal()다른 코드가 객체의 속성을 삭제하지 못하도록 합니다.
Object.setPrototypeOf()프로토타입(즉, 내부의 [[Prototype]] 속성)을 설정합니다.
Object.values()주어진 객체의 열거가능한 모든 스트링 속성들의 값들을 포함하고 있는 배열을 반환합니다.

객체

객체란?

이름이 지정된 프로퍼티(property)의 모음이며, 키(key) : 값(value)의 쌍으로 이루어진 목록

객체의 생성

let user ={
  firstName: 'steve',
  age: 24,
  city: 'seoul',
  isAdult: true,
}

객체의 값을 사용하는 방법

점 표기법(Dot notation)

user.firstName; // 'steve'
user.age; // 24

괄호 표기법(Bracket notation)

user.['firstName']; // 'steve'
user.['age']; // 24

in 연산자

in 연산자를 사용하여 해당 키 값이 있는지 없는지 판별할 수 있다

'firstName' in user; // true
'address' in user;; // false

자주 쓰는 객체 관련 메소드/명령어

Object.keys()

어떤 객체가 가지고 있는 키들의 목록을 배열로 리턴

Object.keys(user); // ['firstName', 'age', 'city', 'isAdult']

Object.values()

객체의 키가 아닌 값으로 이루어진 배열을 리턴

Object.values(user); // ['steve', 24, 'seoul', true]

Object.entries()

객체의 키와 값의 쌍으로 이루어진 길이 2짜리 배열을 리턴

Object.entries(user);

/*
  ['firstName', 'steve'],
  ['age', 24],
  ['city', 'seoul'],
  ['isAdult', true],
*/

delete

객체 안에 입력한 속성 값이 있으면 해당하는 속성 값을 삭제

delete user.firstName; // firstName 속성 삭제
delete user.['city']; // city 속성 삭제

for in 반복문

객체의 프로퍼티명을 열거하는 반복문

let obj = { 
  name: 'conan',
  job: 'detective'
} 

for (const key in obj) {
  console.log(`${key} : ${obj[key]}`); 
}
// name : conan 
// job : detective
profile
shreder0804

0개의 댓글