이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

객체(object) 생성자(constructor)는 객체 레퍼(wrapper)를 생성합니다.

문법

// Object initialiser or literal
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

// Called as a constructor
new Object([value])

파라미터

nameValuePair1, nameValuePair2, ... nameValuePairN
콜론으로 나뉘어있는 이름(문자열)과 값(어떤 값이든 가능)의 쌍들.
value
어떤 값이든 가능.

설명

객체 생성자는 입력받은 값으로부터 객체 래퍼를 생성합니다. 만약 값이 null이거나 undefined이면 빈 객체가 반환되고, 그렇지 않으면 입력받은 값에 맞는 타입의 객체가 반환됩니다. 만약 값이 이미 객체이면 그 값을 다시 반환합니다.

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

object initializer / literal syntax 참조.

객체 생성자의 속성

Object.length
값으로 1을 갖고 있습니다.
Object.prototype
Object 타입의 모든 객체에 속성(property)들을 추가할 수 있게 합니다.

객체 생성자의 메소드

Object.assign()
하나 이상의 원본 객체들로부터 모든 열거가능한 속성들을 대상 객체로 복사합니다.
Object.create()
주어진 프로토타입(prototype)의 객체와 속성들을 갖고 있는 새 객체를 생성합니다.
Object.defineProperty()
주어진 기술자(descriptor)에 의해 기술된(described) 이름붙은 속성을 객체에 추가합니다.
Object.defineProperties()
주어진 기술자들에 맞는 이름붙은 속성들을 객체에 추가합니다.
Object.freeze()
객체를 프리징(freeze)합니다. 즉, 다른 곳의 코드에서 객체의 속성을 지우거나 바꿀 수 없습니다.
Object.getOwnPropertyDescriptor()
객체의 이름붙은 속성의 기술자를 반환합니다.
Object.getOwnPropertyNames()
주어진 객체 자신만의 열거가능하거나 열거불가능한 속성들의 이름을 포함하는 배열(array)을 반환합니다.
Object.getOwnPropertySymbols()
주어진 객체에서 바로 찾을 수 있는 모든 심볼 속성을 배열로 반환합니다.
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.prototype로부터 메소드들과 속성들을 상속받는데, 나중에 덮어씌울 수도 있습니다. 예를 들어, 다른 생성자의 프로토타입은물려받은 constructor 속성을 덮어쓰고 자신의 toString() 메소드를 제공합니다. Object의 프로토타입을 변경하면 영향을 받는 속성이 이미 덮어씌워진 객체를 제외하고 프로토타입 체인(chain)을 따라 모든 객체들로 전달됩니다.

속성

메소드

예제

undefined 와 null 타입이 주어진 객체 사용

다음 예제는 변수 o에 비어있는 객체를 저장합니다.

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

Boolean 객체를 생성하기 위한 객체 사용

다음 예제들은 변수 o에 Boolean 객체들을 저장합니다.

// equivalent to o = new Boolean(true);
var o = new Object(true);
// equivalent to 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  

브라우저 호환성

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

참조

문서 태그 및 공헌자

이 페이지의 공헌자: palindrom615, callin2, StrongStoone, maytree, keikeiem, teoli, Jeado.Ko
최종 변경자: palindrom615,