NATIVE

NATIVE

Draft
  • account_tree
  • bug_report

ObjectObject

설명

Object 객체는 자바스크립트의 모든 객체에 상속하는 최상위 객체이다. 원시 타입을 제외한 자바스크립트에서 다루는 데이터들은 모두 Object 객체를 상속받는 객체들이다. 하지만 원시 타입 데이터도 Object를 상속받는 각각의 래퍼(Wrapper) 객체가 존재해 실질적으로 모든 데이터들은 Object를 상속받는다고 할 수 있다.

하위 트리 탐색

  • Constructor

    객체를 생성하는 생성자이며 new 연산자를 이용한 인스턴스(Instance)  방식과 대입 방식인 리터럴(Lieteral)을 지원한다.
    • Object()

      일반적인 사용자 객체 데이터를 생성하는 생성자 함수이며 생성자 함수에 의해서 생성된 인스턴스(Instance)는 Object 객체의 [[Prototype]]을 상속받는다. 생성자 함수 자체는 Function 객체의 [[Prototype]]을 상속 받는다.
  • Static

    Object 객체의 정적 프로퍼티와 메소드
    • Methods

      • assign()

        열거 가능한 하나 이상의 소스 오브젝트로부터 타켓 오브젝트로 프로퍼티를 복사한 후 타켓 오브젝트를 반환한다. 만약에 소스 오브젝트에 타켓 오브젝트와 동일한 프로퍼티를 가지고 있다면 소스 오프젝트의 속성과 유사하게 덮어 씌우게 된다.
      • create()

        기존 객체를 사용하여 새로운 객체를 생성하여 반환한다.
      • defineProperties()

        첫 번째 인수로 지정된 객체의 두 개 이상의 프로퍼티의 명세를 새로 설정하여 반환한다.
      • defineProperty

        첫번째 인수로 지정된 객체에 새로운 프로퍼티를 정의하거나 수정한 후 반환한다.
      • entries()

        객체의 정의된 순서에 따라 하나의 프로퍼티와 그 값을 각각 배열의 항목으로 담아 전체의 프로퍼티 수 만큼 원소를 갖는 배열로 반환한다.
      • freeze()

        객체에 대한 모든 변경을 금지시킨다.
      • getOwnPropertyDescriptor()

        첫번째 인수로 지정된 객체의 특정 프로퍼티에 대한 configurable, enumerable, value, writable, get, set 명세를 반환한다.
      • getOwnPropertyDescriptors()

        객체의 모든 프로퍼티에 대한 configurable, enumerable, value, writable, get, set 명세를 반환한다.
      • getOwnPropertyNames()

        모든 속성(Symbol을 사용하는 프로퍼티를 제외한 열거 불가능 프로퍼티 포함)를 배열로 반환한다.
      • getOwnPropertySymbols()

        객체 내에 존재하는 모든 심벌(Symbol) 프로퍼티를 배열로 반환한다.
      • getPrototypeOf()

        객체의 프로토타입(Prototype)을 반환한다.
      • is()

        매개 변수로 주어진 두 값이 같은 값인지 확인한다. '==', '===' 연산자의 결과와 다를 수 있으므로 아래의 튜토리얼 문서를 참조한다.
      • isExtensible()

        객체에 새로운 프로퍼티를 추가 가능한지에 대한 여부를 확인한다.
      • isFrozen()

        객체가 변경 불가능한 상태인지를 확인한다.
      • isSealed()

        객체의 쓰기 가능한 프로퍼티를 제외하고 변경 금지된 상태인지를 확인한다.
      • keys()

        객체의 열거 가능한 프로퍼티와 메소드의 이름을 문자열 타입의 원소로 가진 배열로 반환한다.
      • preventExtensions()

        객체에 새로운 프로퍼티가 추가되는 것을 차단하여 확장을 막는다.
      • seal()

        객체에 새로운 프로퍼티를 추가할 수 없도록 하며 이미 존재하는 프로퍼티를 설정 불가능한 상태로 처리한다. 그러나 쓰기 가능한 프로퍼티의 값은 변경 불가 처리후에도 변경이 가능하다.
      • setPrototypeOf()

        대상 객체의 프로토타입(Prototype) 객체를 다른 객체로 설정하거나 null로 설정한다.
      • values()

        객체의 열거 가능한 프로퍼티 값을 원소로 가진 배열로 반환한다.
  • [[Prototype]]

    생성자(constructor)를 가진 객체(object) 또는 인터페이스(interface)가 인스턴스(instance)를 생성할 때 상속할 수 있는 프로퍼티(property)와 메소드(method)를 가지고 있는 원형 객체를 참조하는 생성자의 은닉된 속성이다. 만약에 상속받은 객체(object) 또는 인터페이스(interface)가 존재한다면 상속한 객체(object) 또는 인터페이스(interface)의 [[Prototype]] 프로퍼티(property)와 메소드(method)를 추가적으로 사용할 수 있다.
    • Methods

      • hasOwnProperty()

        객체가 특정 프로퍼티를 가지고 있는지를 블린 값으로 반환한다.
      • isPrototypeOf()

        해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다. 이 메소드는 instanceof 연산자와 함께 특정 프로토타입으로부터 상속된 객체만 작동하게 하려는(예를 들어 특정 메소드나 속성이 객체에 있다는걸 보장하려는 때) 코드에서 특히 쓸모가 많다.
      • propertyIsEnumerable()

        매개 변수의 속성이 열거가능한지 여부를 체크한다.
      • toLocaleString()

        객체를 나타내는 문자열을 사용 지역의 방식으로 출력이 된다. 이 메소드는 상속받은 모든 객체가 사용할 수 없고 아래와 같은 상속된 객체에 사용이 된다. Array.prototype.toLocaleString() Number.prototype.toLocaleString() Date.prototype.toLocaleString()
      • toString()

        객체를 나타내는 문자열을 반환한다.
      • valueOf()

        객체의 Primitive(원시) 값을 반환한다.
    • Properties

      • constructor

        객체의 생성자 함수를 참조한다.
      • __proto__

        상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

지원 웹브라우저