forked from iliakan/es5
-
Notifications
You must be signed in to change notification settings - Fork 0
/
x15.6.html
executable file
·124 lines (116 loc) · 12.1 KB
/
x15.6.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html class="split chapter"><head>
<meta charset="utf-8"><title>15.6 Объекты Boolean # Ⓣ Ⓔ ① Ⓐ — Annotated ES5</title><link rel="stylesheet" href="style.css"><link href="x15.5.html" title="15.5 Объекты String " rel="prev">
<link href="index.html" title="Содержание" rel="index">
<link href="x15.7.html" title="15.7 Объекты Number " rel="next">
</head><body><div class="head">
<h2 id="top">Спецификация ECMAScript 5.1 с аннотациями <span id="timestamp"></span></h2>
<!--left..-->
<div id="slogan">
<div id="share-toggler">Поделиться</div>
<div class="share">
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://es5.javascript.ru/" data-lang="ru" data-size="large" data-count="horizontal">Твитнуть</a>
<div id="fb-root"></div>
<div style="margin-bottom:5px" class="fb-like" data-href="http://es5.javascript.ru" data-send="false" data-action="recommend" data-layout="button_count" data-width="300" data-show-faces="false" data-font="arial"></div>
<div class="vk-share-wrapper">
<script src="http://vkontakte.ru/js/api/share.js?9" charset="windows-1251"></script>
<script src="misc.js"></script>
</div>
<div style="margin-top:6px">
<g:plusone annotation="inline" href="http://es5.javascript.ru/" width="120" size="standard" style="vertical-align:middle"></g:plusone>
</div>
</div>
</div>
<!--..left-->
<div id="annotations">
</div>
</div>
<nav>
<a href="x15.5.html">← 15.5 Объекты String </a> –
<a href="index.html" class="toc-nav">Содержание</a> –
<a href="x15.7.html">15.7 Объекты Number →</a>
<ol class="toc"><li><ol><li><a href="x15.6.html#x15.6" id="x15.6-toc">15.6 Boolean Objects</a>
<b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> <ol><li><a href="x15.6.html#x15.6.1" id="x15.6.1-toc">15.6.1 Вызов конструктора Boolean как функции</a>
<b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> <ol><li><a href="x15.6.html#x15.6.1.1" id="x15.6.1.1-toc">15.6.1.1 Boolean (value)</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li></ol></li><li><a href="x15.6.html#x15.6.2" id="x15.6.2-toc">15.6.2 Конструктор Boolean</a>
<b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> <ol><li><a href="x15.6.html#x15.6.2.1" id="x15.6.2.1-toc">15.6.2.1 new Boolean (value)</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li></ol></li><li><a href="x15.6.html#x15.6.3" id="x15.6.3-toc">15.6.3 Свойства конструктора Boolean</a>
<b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> <ol><li><a href="x15.6.html#x15.6.3.1" id="x15.6.3.1-toc">15.6.3.1 Boolean.prototype</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li></ol></li><li><a href="x15.6.html#x15.6.4" id="x15.6.4-toc">15.6.4 Свойства объекта-прототипа Boolean</a>
<b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> <ol><li><a href="x15.6.html#x15.6.4.1" id="x15.6.4.1-toc">15.6.4.1 Boolean.prototype.constructor</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li><li><a href="x15.6.html#x15.6.4.2" id="x15.6.4.2-toc">15.6.4.2 Boolean.prototype.toString ( )</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li><li><a href="x15.6.html#x15.6.4.3" id="x15.6.4.3-toc">15.6.4.3 Boolean.prototype.valueOf ( )</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li></ol></li><li><a href="x15.6.html#x15.6.5" id="x15.6.5-toc">15.6.5 Свойства экземпляров Boolean</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b> </li></ol></li></ol></li></ol></nav>
<h3 id="x15.6" class="splitme">15.6 Объекты Boolean <a href="#x15.6">#</a> <a href="#x15.6-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h3>
<h4 id="x15.6.1">15.6.1 Вызов конструктора Boolean как функции <a href="#x15.6.1">#</a> <a href="#x15.6.1-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h4>
<p>
При вызове <code><b>Boolean</b></code> не в качестве конструктора, а в качестве функции, производится преобразование типов.</p>
<h5 id="x15.6.1.1">15.6.1.1 Boolean (value) <a href="#x15.6.1.1">#</a> <a href="#x15.6.1.1-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h5>
<p>
Возвращает значение типа Boolean (а не объект Boolean), вычисляемое абстрактной операцией <a href="x9.html#x9.2">ToBoolean</a>(<i>value</i>).</p>
<h4 id="x15.6.2">15.6.2 Конструктор Boolean <a href="#x15.6.2">#</a> <a href="#x15.6.2-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h4>
<p>
Если <code><b>Boolean</b></code> вызывается как часть выражения <code><b>new</b></code>, он является конструктором, так как он инициализирует создаваемый объект.</p>
<h5 id="x15.6.2.1">15.6.2.1 new Boolean (value) <a href="#x15.6.2.1">#</a> <a href="#x15.6.2.1-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h5>
<p>
Внутреннее свойство [[Prototype]] создаваемого объекта устанавливается равным исходному объекту-прототипу Boolean, который представляет собой начальное значение свойства <code><b>Boolean.prototype</b></code> (<a href="#x15.6.3.1">15.6.3.1</a>).</p>
<p>
Внутреннее свойство [[Class]] создаваемого объекта Boolean устанавливается равным <code><b>"Boolean"</b></code>.</p>
<p>
Внутреннее свойство [[PrimitiveValue]] создаваемого объекта Boolean устанавливается равным <a href="x9.html#x9.2">ToBoolean</a>(<i>value</i>).</p>
<p>
Внутреннее свойство [[Extensible]] создаваемого объекта устанавливается равным <b>true</b>.</p>
<h4 id="x15.6.3">15.6.3 Свойства конструктора Boolean <a href="#x15.6.3">#</a> <a href="#x15.6.3-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h4>
<p>
Значением внутреннего свойства [[Prototype]] конструктора Boolean является объект-прототип Function (<a href="x15.3.html#x15.3.4">15.3.4</a>).</p>
<p>
Кроме внутренних свойств и свойства <code><b>length</b></code> со значением <b>1</b>, конструктор Boolean имеет следующее свойство:</p>
<h5 id="x15.6.3.1">15.6.3.1 Boolean.prototype <a href="#x15.6.3.1">#</a> <a href="#x15.6.3.1-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h5>
<p>
Начальным значением <code><b>Boolean.prototype</b></code> является объект-прототип Boolean (<a href="#x15.6.4">15.6.4</a>).</p>
<p>
Это свойство имеет атрибуты { [[Writable]]: <b>false</b>, [[Enumerable]]: <b>false</b>, [[Configurable]]: <b>false</b> }.</p>
<h4 id="x15.6.4">15.6.4 Свойства объекта-прототипа Boolean <a href="#x15.6.4">#</a> <a href="#x15.6.4-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h4>
<p>
Объект-прототип Boolean представляет собой объект типа Boolean (его [[Class]] равен <code><b>"Boolean"</b></code>), значение которого равно <b>false</b>.</p>
<p>
Значением внутреннего свойства [[Prototype]] объекта-прототипа Boolean является стандартный встроенный объект-прототип Object (<a href="x15.2.html#x15.2.4">15.2.4</a>).</p>
<h5 id="x15.6.4.1">15.6.4.1 Boolean.prototype.constructor <a href="#x15.6.4.1">#</a> <a href="#x15.6.4.1-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h5>
<p>
Начальным значением <code><b>Boolean.prototype.constructor</b></code> является встроенный конструктор <code><b>Boolean</b></code>.</p>
<h5 id="x15.6.4.2">15.6.4.2 Boolean.prototype.toString ( ) <a href="#x15.6.4.2">#</a> <a href="#x15.6.4.2-toc" class="bak">?</a> <b class="erra">?</b> <b class="rev1">?</b> <b class="anno">?</b></h5>
<p>
Выполняются следующие шаги:</p>
<ol><li><p>
Пусть <i>B</i> будет значением <b>this</b>.</p>
</li>
<li><p>
Если <a href="x8.html#Type">Type</a>(<i>B</i>) равно Boolean, то пусть <i>b</i> будет <i>B</i>.</p>
</li>
<li><p>
Иначе, если <a href="x8.html#Type">Type</a>(<i>B</i>) равен Object, и значение внутреннего свойства [[Class]] для <i>B</i> равно <code><b>"Boolean"</b></code>, то пусть <i>b</i> будет значением внутреннего свойства [[PrimitiveValue]] для <i>B</i>.</p>
</li>
<li><p>
Иначе сгенерировать исключение <b><a href="x15.11.html#x15.11.6.5" class="term-ref">TypeError</a></b>.</p>
</li>
<li><p>
Если <i>b</i> равно <b>true</b>, то вернуть <code><b>"true"</b></code>; иначе вернуть <code><b>"false"</b></code>.</p>
</li></ol>
<h5 id="x15.6.4.3">15.6.4.3 Boolean.prototype.valueOf ( ) <a href="#x15.6.4.3">#</a> <a href="#x15.6.4.3-toc" class="bak">?</a> <b class="erra">?</b> <b class="rev1">?</b> <b class="anno">?</b></h5>
<p>
Выполняются следующие шаги:</p>
<ol><li><p>
Пусть <i>B</i> будет значением <b>this</b>.</p>
</li>
<li><p>
Если <a href="x8.html#Type">Type</a>(<i>B</i>) равно Boolean, то пусть <i>b</i> будет <i>B</i>.</p>
</li>
<li><p>
Иначе, если <a href="x8.html#Type">Type</a>(<i>B</i>) равен Object, и значение внутреннего свойства [[Class]] для <i>B</i> равно <code><b>"Boolean"</b></code>, то пусть <i>b</i> будет значением внутреннего свойства [[PrimitiveValue]] для <i>B</i>.</p>
</li>
<li><p>
Иначе сгенерировать исключение <b><a href="x15.11.html#x15.11.6.5" class="term-ref">TypeError</a></b>.</p>
</li>
<li><p>
Вернуть <i>b</i>.</p>
</li></ol>
<h4 id="x15.6.5">15.6.5 Свойства экземпляров Boolean <a href="#x15.6.5">#</a> <a href="#x15.6.5-toc" class="bak">Ⓣ</a> <b class="erra">Ⓔ</b> <b class="rev1">①</b> <b class="anno">Ⓐ</b></h4>
<p>
Экземпляры Boolean наследуют свойства объекта-прототипа Boolean. Значение их внутреннего свойства [[Class]] равно <code><b>"Boolean"</b></code>. Кроме того, экземпляры Boolean имеют внутреннее свойство [[PrimitiveValue]].</p>
<p>
Внутреннее свойство [[PrimitiveValue]] представляет собой значение Boolean, представленное этим объектом Boolean.</p>
</body><script src="anno.js"></script></html>