>웹 프론트엔드 >프런트엔드 Q&A >ecmascript의 내장 객체는 무엇입니까?

ecmascript의 내장 객체는 무엇입니까?

青灯夜游
青灯夜游원래의
2021-12-06 15:23:391705검색

ecmascript에 내장된 객체에는 전역 객체, 객체 객체, 함수 객체, 배열 객체, 문자열 객체, 부울 객체, 숫자 객체, 수학 객체, 날짜 객체, RegExp 객체, JSON 객체 및 오류 객체가 포함됩니다.

ecmascript의 내장 객체는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

ECMAScript는 ECMAScript 엔터티의 정의를 개략적으로 설명하는 내장 객체 세트를 정의합니다.

이러한 내장 개체에는

전역 개체, 개체 개체, 함수 개체, 배열 개체, 문자열 개체, 부울 개체, 숫자 개체, 수학 개체, 날짜 개체, RegExp 개체, JSON 개체 및 오류 개체: 오류, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError.

전역 개체

유일한 전역 개체는 제어가 실행 환경에 들어가기 전에 설정됩니다.

달리 지정하지 않는 한, 전역 객체의 표준 내장 속성은 {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true} 속성을 갖습니다.

전역 개체에는 [[Construct]] 내부 속성이 없습니다. 전역 개체는 new 연산자를 사용하여 생성자로 호출할 수 없습니다.

전역 객체에는 [[Call]] 내부 속성이 없으며 전역 객체를 함수로 호출할 수 없습니다.

전역 개체의 [[Prototype]] 및 [[Class]] 내부 속성 값은 구현에 따라 다릅니다.

이 사양에 정의된 속성 외에도 전역 개체에는 추가 호스트 정의 속성이 있을 수도 있습니다. 전역 객체는 값이 전역 객체 자체인 속성을 포함할 수 있습니다. 예를 들어 HTML 문서 객체 모델에서 전역 객체의 창 속성은 전역 객체 자체입니다.

Object 객체

Object 생성자를 함수로 호출

Object가 생성자가 아닌 함수로 호출되면 유형 변환을 수행합니다.

Object ( [ value ] )

매개변수 값이 있거나 매개변수 없이 Object 함수를 호출하는 경우 다음 단계가 사용됩니다.

  • 값이 null이거나 정의되지 않거나 지정되지 않은 경우 새 Object 개체가 생성되고 반환됩니다. 동일한 매개변수로 호출하면 표준 내장 Object 생성자(15.2.2.1)의 결과는 동일합니다.

Object 생성자

를 반환합니다. 새로운 표현식 호출의 경우 생성자가 객체를 생성합니다.

new Object ( [ value ] )

매개변수 값이 있거나 매개변수 없이 Object 생성자를 호출하는 경우 다음 단계를 수행합니다.

  • 값이 제공되면 Type(value)이 Object인 경우 value가 기본 ECMAScript 객체인 경우 새 객체를 생성하지 않고 단순히 값을 반환합니다. value가 호스트 객체인 경우 작업을 수행하고 구현에 따른 결과를 반환하면 해당 결과가 호스트 객체에 종속될 수 있습니다. Type(값)이 Boolean이면 ToObject(값)을 반환합니다. Type(값)이 Number이면 ToObject(값)을 반환합니다.

  • Assertion: 매개변수 값이 제공되지 않거나 해당 값입니다. 유형이 Null이거나 정의되지 않았습니다.

  • obj를 새로 생성된 기본 ECMAScript 객체로 둡니다.

  • obj의 [[Prototype]] 내부 속성을 표준 내장 객체(15.2.4)의 프로토타입 객체로 설정합니다. ).

  • obj의 [[Class]] 내부 속성을 "Object"로 설정합니다.

  • obj의 [[Extensible]] 내부 속성을 true로 설정합니다.

  • obj의 8.12에서 모든 내부 메서드를 지정하도록 설정합니다

  • Return obj.

Function 객체

함수 생성자를 함수로 호출

함수가 생성자가 아닌 함수로 호출되면 새로운 함수 객체를 생성하고 초기화합니다. . 따라서 함수 호출 Function(…)은 동일한 매개변수를 사용하여 새 Function(…) 표현식과 동일한 객체를 생성합니다.

Function (p1, p2, … , pn, body)

p1, p2, …, pn, body를 매개변수로 사용하여 Function 함수를 호출할 때(여기서 n은 0이 될 수 있습니다. 즉, "p" 매개변수가 없으며 지금은 body를 제공할 필요가 없음을 의미합니다), 다음 단계를 사용하십시오.

  • 새 표현식을 사용하여 표준 내장 생성자 Function(15.3.2.1)과 동일한 매개변수를 사용하여 새 함수 객체를 생성하고 반환합니다.

함수 생성자

함수가 새 표현식의 일부로 호출되면 생성자입니다. 새로 생성된 개체를 초기화합니다.

new Function (p1, p2, … , pn, body)

마지막 매개변수는 함수의 본문(실행 코드)으로 지정됩니다. 이전 매개변수는 형식 매개변수로 지정됩니다.

p1, p2, …, pn, body를 매개변수로 사용하여 함수 생성자를 호출할 때(여기서 n은 0일 수 있습니다. 즉, "p" 매개변수가 없으며 현재 body를 제공할 필요가 없음을 의미함) 다음 단계:

  • 令 argCount 为传给这个函数调用的参数总数 .

  • 令 P 为空字符串 .

  • 如果 argCount = 0, 令 body 为空字符串 .

  • 否则如果 argCount = 1, 令 body 为那个参数 .

  • 否则 , argCount > 1令 firstArg 为第一个参数 .令 P 为 ToString(firstArg).令 k 为 2.只要 k 6c90cc38f36b104708bb7b8442e952f5。本规范里面的 JSON 交换格式会使用 RFC4627 里所描述的,以下两点除外:

    • ECMAScript JSON 文法中的顶级 JSONText 产生式是由 JSONValue 构成,而不是 RFC4627 中限制成的 JSONObject 或者 JSONArray。

    • 确认 JSON.parse 和 JSON.stringify 的实现,它们必须准确的支持本规范描述的交换格式,而不允许对格式进行删除或扩展。这一点要区别于 RFC4627,它允许 JSON 解析器接受 non-JSON 的格式和扩展。

     JSON 对象内部属性 [[Prototype]] 的值是标准内建的 Object 原型对象(15.2.4)。内部属性 [[Class]] 的值是“JSON”。内部属性 [[Extensible]] 的值设置为 true。

     JSON 对象没有内部属性 [[Construct]];不能把 JSON 对象当作构造器来使用 new 操作符。

     JSON 对象没有内部属性 [[Call]]; 不能把 JSON 对象当作函数来调用。

    Error 对象

    Error对象的实例在运行时遇到错误的情况下会被当做异常抛出。Error对象也可以作为用户自定义异常类的基对象。

    【相关推荐:javascript学习教程

위 내용은 ecmascript의 내장 객체는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.