--- title: Object slug: Web/JavaScript/Reference/Global_Objects/Object tags: - Constructor - JavaScript - Object - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Object ---
Object 생성자는 객체 래퍼(wrapper)를 생성합니다.
// 객체 초기자 또는 리터럴
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }
// 생성자
new Object([value])
nameValuePair1, nameValuePair2, ... nameValuePairNvalueObject 생성자는 주어진 값의 객체 래퍼를 생성합니다. 주어진 값이 {{jsxref("null")}}이거나 {{jsxref("undefined")}}면 빈 객체를 생성해 반환하고, 그렇지 않으면 값에 맞는 자료형의 객체를 반환합니다. 만약 값이 이미 객체이면 그 값을 그대로 반환합니다.
생성자가 아닌 맥락에서 호출하면 Object는 new Object()와 동일하게 동작합니다.
객체 초기자(리터럴 구문)도 참고하세요.
Object 생성자의 속성Object.lengthObject 형의 모든 객체에 속성을 추가할 수 있습니다.Object 생성자의 메서드[[Prototype]] 속성)을 설정합니다.Object 인스턴스와 Object 프로토타입 객체JavaScript에서 모든 객체들은 Object의 자손입니다. 모든 객체는 {{jsxref("Object.prototype")}}으로부터 메서드와 속성을 상속하는데, 나중에 덮어 쓸 수도 있습니다. 예를 들어, 다른 생성자의 프로토타입은 그 constructor 속성을 덮어쓰고 자신의 toString() 메소드들을 제공합니다. Object 프로토타입 객체에 대한 변경 내용은  그 변경 내용에 영향을 받는 속성들과 메소드들이 프로토타입 체인(chain)을 따라 더이상 무시되지 않는한,  모든 객체들로 전달됩니다.
undefined와 null을 지정다음 예제는 변수 o에 빈 Object 객체를 저장합니다.
var o = new Object();
var o = new Object(undefined);
var o = new Object(null);
Object로 Boolean 객체 생성하기다음 예제는 변수 o에 {{jsxref("Boolean")}} 객체를 저장합니다.
// 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. | 
| {{SpecName('ES5.1', '#sec-15.2', 'Object')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-object-objects', 'Object')}} | {{Spec2('ES6')}} | Added Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is | 
| {{SpecName('ESDraft', '#sec-object-objects', 'Object')}} | {{Spec2('ESDraft')}} | Added Object.entries, Object.values and Object.getOwnPropertyDescriptors. | 
{{Compat("javascript.builtins.Object")}}