update js

This commit is contained in:
2025-03-25 16:40:25 +03:00
parent f26d9d8512
commit b944823298
60 changed files with 154 additions and 67 deletions

View File

@@ -7,7 +7,6 @@ sidebar_position: 7
Преобразование объекта в примитив вызывается автоматически многими встроенными функциями и операторами, которые ожидают примитив в качестве значения.
Существует всего 3 типа (хинта) для этого:
- "string" (для alert и других операций, которым нужна строка)
- "number" (для математических операций)
- "default" (для некоторых других операторов, обычно объекты реализуют его как "number")
@@ -15,7 +14,6 @@ sidebar_position: 7
Спецификация явно описывает для каждого оператора, какой ему следует использовать хинт.
Алгоритм преобразования таков:
1. Сначала вызывается метод `obj[Symbol.toPrimitive](hint)`, если он существует,
2. В случае, если хинт равен "string"
- происходит попытка вызвать `obj.toString()` и `obj.valueOf()`, смотря что есть.
@@ -24,4 +22,6 @@ sidebar_position: 7
Все эти методы должны возвращать примитив (если определены).
На практике часто бывает достаточно реализовать только `obj.toString()` в качестве универсального метода для преобразований к строке, который должен возвращать удобочитаемое представление объекта для целей логирования или отладки.
На практике часто бывает достаточно реализовать только `obj.toString()` в качестве универсального метода для преобразований к строке, который должен возвращать удобочитаемое представление объекта для целей логирования или отладки.
🚀 **Источник: [https://learn.javascript.ru/object-toprimitive](https://learn.javascript.ru/object-toprimitive)**