You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ещё одной важной особенностью всех методов преобразований объектов является то, что они не обязаны возвращать именно "требуемый хинтом" тип примитива.
162
162
163
-
Нет требований к тому, чтобы `toString()` возвращал строго строку, или к тому, чтобы метод `Symbol.toPrimitive` возвращал число для хинта равного "number".
163
+
Нет требований, чтобы `toString()` возвращал строго строку, или к тому, чтобы метод `Symbol.toPrimitive` возвращал число для хинта равного "number".
164
164
165
165
Единственное обязательное требование: методы должны возвращать примитив, а не объект.
Операция инициализировавшая преобразование получает примитив, и затем продолжает работу с ним, производя дальнейшие преобразования, если это необходимо.
175
+
Операция, инициализировавшая преобразование, получает примитив, и затем продолжает работу с ним, производя дальнейшие преобразования, если это необходимо.
-`"string"` (для `alert` и других строковых преобразований)
222
222
-`"number"` (для математических операций)
223
-
-`"default"` (для других немногих операторов)
223
+
-`"default"` (для некоторых операций)
224
224
225
225
В спецификации явно указано, какой хинт должен использовать каждый оператор. И существует совсем немного операторов, которые "не знают что ожидать" и используют хинт со значением `"default"`. Обычно для встроенных объектов хинт `"default"` обрабатывается так же, как `"number"`. Таким образом, последние два очень часто объединяют вместе.
0 commit comments