NATIVE

settings_applicationsObject

NATIVE

Draft
  • account_tree
  • bug_report

ObjectFunction

설명

함수 생성에 관여하는 객체이다. 자바스크립트의 모든 함수는 Function 객체를 상속받는다. 또한 Function 객체 자신은 Object 객체를 상속받는다.

다른 언어와는 다르게 자바스크립트에서의 함수는 객체를 생성하는 역할을 한다. 이 경우에 생성된 객체는 더 이상의 Function 객체의 성격을 갖지 않고 완전한 Object 객체로 전환된다.

하위 트리 탐색

  • Constructor

    함수를 생성하는 방식은 리터럴(Lieteral)과 new 연산자를 통한 생성 방식이 있다. 일반적으로 리터럴로 생성을 하지만 경우에 따라서는 Function() 생성자 함수를 이용할 수도 있다. 리터럴로 생성하는 경우에는 다양한 패턴을 가지고 있다. 자세한 내용은 아래의 튜토리얼을 참조한다.
    • Function()

      사용자 함수를 생성하는 생성자 함수이며 function () 객체의 prototype 프로퍼티(Property)와 메소드(Method)를 상속한다. eval() 함수와 비슷한 성향을 가지지만 eval() 함수보다는 덜 위험하고 전역범위에서 코드를 실행할 수 있으며 프로그래밍(동적) 방식으로 함수를 생성할 수 있어 효율적인 코드를 작성할 수 있도록 해 준다.
  • [[Prototype]]

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

      • apply()

        주어진 this 또는 arguments로 함수를 호출한다.
      • bind()

        원본 함수와 동일한 본문을 갖는 바인딩된 함수를 만든다. this 키워드가 있는 경우 실제로 자신을 참조할 수 있도록 활성화된다.
      • call()

        인수를 지정하여 객체의 메소드를 호출한다. apply() 메소드와 매우 흡사하지만 배열 하나만을 인수로 지정하는 apply() 메소드와 달리 인수를 추가적으로 설정할 수 있다는 것이 차이가 있다.
      • toSource()

        객체의 소스코드를 나타내는 문자열을 반환한다. 웹브라우저별 지원 여부를 체크할 필요가 있다.
      • toString()

        Object.prototype.toString() 메소드를 상속받았으며 재정의를 통해 사용하거나 재정의 없이 사용할 수 있다. 이 메소드는 객체가 텍스트 값으로 표시되거나 객체가 문자열이 예상되는 방식으로 참조될 때 호출된다. 객체에 따라서 결과는 다를 수 있다.
    • Properties

      • caller

        지정된 함수를 호출한 함수를 참조한다. strict 모드에서는 사용할 수 없다.
      • length

        함수에 사용 되고 있는 인수의 개수를 참조한다.
      • name

        함수 이름을 참조한다.
      • prototype

        모든 생성자에게 상속되며 생성자의 프로토타입을 나타낸다.

지원 웹브라우저