布爾對(duì)象

2018-06-16 15:46 更新

作為函數(shù)調(diào)用布爾構(gòu)造器

 當(dāng)把 Boolean 作為函數(shù)來(lái)調(diào)用,而不是作為構(gòu)造器,它執(zhí)行一個(gè)類型轉(zhuǎn)換。

Boolean (value)

 返回由 ToBoolean(value) 計(jì)算出的布爾值(非布爾對(duì)象)。

布爾構(gòu)造器

 當(dāng) Boolean 作為 new 表達(dá)式的一部分來(lái)調(diào)用,那么它是一個(gè)構(gòu)造器:它初始化新創(chuàng)建的對(duì)象。

new Boolean (value)

 新構(gòu)造對(duì)象的 [[Prototype]] 內(nèi)部屬性設(shè)定為原始布爾原型對(duì)象,它是 Boolean.prototype (15.6.3.1) 的初始值。

 新構(gòu)造對(duì)象的 [[Class]] 內(nèi)部屬性設(shè)定為 "Boolean"。

 新構(gòu)造對(duì)象的 [[PrimitiveValue]] 內(nèi)部屬性設(shè)定為 ToBoolean(value)。

 新構(gòu)造對(duì)象的 [[Extensible]] 內(nèi)部屬性設(shè)定為 true。

布爾構(gòu)造器的屬性

 布爾構(gòu)造器的 [[Prototype]] 內(nèi)部屬性的值是函數(shù)原型對(duì)象 (15.3.4)。

 除了內(nèi)部屬性和 length 屬性(值為 1)外,布爾構(gòu)造器還有以下屬性:

Boolean.prototype

 Boolean.prototype 的初始值是布爾原型對(duì)象 (15.6.4)。

 這個(gè)屬性有特性 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }。

布爾原型對(duì)象的屬性

 布爾原型對(duì)象自身是一個(gè)值為 false 的布爾對(duì)象(它的 [[Class]] 是 "Boolean")。

 布爾原型對(duì)象的 [[Prototype]] 內(nèi)部屬性值是標(biāo)準(zhǔn)內(nèi)置的對(duì)象原型對(duì)象(15.2.4)。

Boolean.prototype.constructor

 Boolean.prototype.constructor 的初始值是內(nèi)置的 Boolean 構(gòu)造器。

Boolean.prototype.toString ( )

 采用以下步驟:

  1. 令 B 為 this 值 .
  2. 如果 Type(B) 是 Boolean, 則令 b 為 B.
  3. 否則如果 Type(B) 是 Object 且 B 的 [[Class]] 內(nèi)部屬性值是 "Boolean", 則令 b 為 B 的 [[PrimitiveValue]] 內(nèi)部屬性值。
  4. 否則拋出一個(gè) TypeError 異常 .
  5. 如果 b 是 true, 則返回 "true"; 否則返回 "false".

Boolean.prototype.valueOf ( )

 采用以下步驟:

  1. 令 B 為 this 值 .
  2. 如果 Type(B) 是 Boolean, 則令 b 為 B.
  3. 否則如果 Type(B) 是 Object 且 B 的 [[Class]] 內(nèi)部屬性值是 "Boolean", 則令 b 為 B 的 [[PrimitiveValue]] 內(nèi)部屬性值。
  4. 否則拋出一個(gè) TypeError 異常 .
  5. 返回 b.

布爾實(shí)例的屬性

 布爾實(shí)例從布爾原型對(duì)象繼承屬性,且布爾實(shí)例的 [[Class]] 內(nèi)部屬性值是 "Boolean"。布爾實(shí)例還有一個(gè) [[PrimitiveValue]] 內(nèi)部屬性。

 [[PrimitiveValue]] 內(nèi)部屬性是代表這個(gè)布爾對(duì)象的布爾值。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)