Object

Object 생성자는 객체 래퍼(wrapper)를 생성합니다.

구문

// 객체 초기자 또는 리터럴
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

// 생성자
new Object([value])

매개변수

nameValuePair1, nameValuePair2, ... nameValuePairN
콜론으로 나뉘어져 있는 키(문자열)와 값(어떤 값이나 가능)의 쌍.
value
아무 값.

설명

Object 생성자는 주어진 값의 객체 래퍼를 생성합니다. 주어진 값이 null이거나 undefined면 빈 객체를 생성해 반환하고, 그렇지 않으면 값에 맞는 자료형의 객체를 반환합니다. 만약 값이 이미 객체이면 그 값을 그대로 반환합니다.

생성자가 아닌 맥락에서 호출하면 Object는 new Object()와 동일하게 동작합니다.

객체 초기자(리터럴 구문)도 참고하세요.

Object 생성자의 속성

Object.length
1의 값을 가집니다.
Object.prototype (en-US)
Object 형의 모든 객체에 속성을 추가할 수 있습니다.

Object 생성자의 메서드

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()
주어진 객체의 열거가능한 모든 스트링 속성들의 값들을 포함하고 있는 배열을 반환합니다.

Object 인스턴스와 Object 프로토타입 객체

JavaScript에서 모든 객체들은 Object의 자손입니다. 모든 객체는 Object.prototype (en-US)으로부터 메서드와 속성을 상속하는데, 나중에 덮어 쓸 수도 있습니다. 예를 들어, 다른 생성자의 프로토타입은 그 constructor 속성을 덮어쓰고 자신의 toString() 메소드들을 제공합니다. Object 프로토타입 객체에 대한 변경 내용은  그 변경 내용에 영향을 받는 속성들과 메소드들이 프로토타입 체인(chain)을 따라 더이상 무시되지 않는한,  모든 객체들로 전달됩니다.

속성

{{page('/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype', '속성') }}

메서드

{{page('/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype', '메서드') }}

예제

undefinednull을 지정

다음 예제는 변수 o에 빈 Object 객체를 저장합니다.

var o = new Object();
var o = new Object(undefined);
var o = new Object(null);

ObjectBoolean 객체 생성하기

다음 예제는 변수 oBoolean 객체를 저장합니다.

// o = new Boolean(true)과 같음
var o = new Object(true);
// o = new Boolean(false)과 같음
var o = new Object(Boolean());

명세

Specification Status Comment
ECMAScript 1st Edition. Standard Initial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object' in that specification.
Standard Added Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is
ECMAScript (ECMA-262)
The definition of 'Object' in that specification.
Living Standard Added Object.entries, Object.values and Object.getOwnPropertyDescriptors.

브라우저 호환성

BCD tables only load in the browser

같이 보기