--- 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, ... nameValuePairN
value
Object
생성자는 주어진 값의 객체 래퍼를 생성합니다. 주어진 값이 {{jsxref("null")}}이거나 {{jsxref("undefined")}}면 빈 객체를 생성해 반환하고, 그렇지 않으면 값에 맞는 자료형의 객체를 반환합니다. 만약 값이 이미 객체이면 그 값을 그대로 반환합니다.
생성자가 아닌 맥락에서 호출하면 Object
는 new Object()
와 동일하게 동작합니다.
객체 초기자(리터럴 구문)도 참고하세요.
Object
생성자의 속성Object.length
Object
형의 모든 객체에 속성을 추가할 수 있습니다.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")}}