Object.getOwnPropertyDescriptor()
구문
Object.getOwnPropertyDescriptor(obj, prop)
설명
obj객체의 prop 속성에 대한 설명자를 반환해요
예제
const case1 = Object.defineProperties({},{
'name' : {
value : '홍길동',
writable : true,
enumerable : true,
},
'age' : {
value : 100,
writable : false,
enumerable : false
}
})
//case1 객체의 name 속성을 찍어보자
console.log(Object.getOwnPropertyDescriptor(case1, 'name'))
configurable : false
enumerable : true
value : "홍길동"
writable : true
//case1 객체의 age 속성을 찍어보자
console.log(Object.getOwnPropertyDescriptor(case1, 'age'))
configurable : false
enumerable : false
value : 100
writable : false
Plain Text
복사
참고로 defineProperties()메서드를 사용하여 속성을 정의할 경우
configurable, enumerable, writable 기본값은 false입니다.
Object.getOwnPropertyDescriptors()
구문
Object.getOwnPropertyDescriptors(obj)
설명
매개변수로 들어온 obj객체의 모든 속성들의 설명자를 반환해요
예제
const case1 = Object.defineProperties({},{
'name' : {
value : '홍길동',
writable : true,
enumerable : true,
},
'age' : {
value : 100,
writable : false,
enumerable : false
}
})
// case1 객체의 설명자가 궁금해요
console.log(Object.getOwnPropertyDescriptors(case1))
age :
configurable : false
enumerable : false
value : 100
writable : false
name :
configurable : false
enumerable : true
value : "홍길동"
writable : true
Plain Text
복사
Object.getOwnPropertyNames()
구문
Object.getOwnPropertyNames(obj)
설명
매개변수의 속성들을 배열에 담아 반환시켜줍니다.
예제
//case1를 만들어볼께요
const case1 = { a : 1, b : 2, c : 3}
//객체에 어떤 속성이 있는지 궁금해요
console.log(Object.getOwnPropertyNames(case1))
결과값 => [ 'a', 'b', 'c' ]
//case2를 만들어 볼께요
const case2 = { name : '홍길동', age : 100 }
//콘솔찍어 볼께요
console.log(Object.getOwnPropertyNames(case2))
결과값 => [ 'name', 'age' ]
Plain Text
복사
Object.getPrototypeOf()
구문
Object.getPrototypeOf(obj)
설명
매개변수의 프로토타입(상속받은 객체)을 반환해요.
예제
//객체를 하나 만들어 볼께요
let obj1 = { name : '홀깅돌' , age : 100 };
//obj1을 상속받는 객체를 하나 만들어 볼께요
let obj2 = Object.create(obj1)
// Object.getPrototypeOf(obj2) === obj1
결과값 => true
Plain Text
복사