Встречается на собеседованиях • сегодня

Что такое Simbol.toPrimitive

Symbol.toPrimitive — это символ, который позволяет объекту определить своё поведение при преобразовании к примитиву (например, при использовании операторов +, == или вызове String(obj)).

Метод с ключом Symbol.toPrimitive принимает строковый аргумент hint, указывающий тип преобразования:

  • "number" — для числовых операций (-, >, *),
  • "string" — для строковых (alert(obj), шаблонные строки),
  • "default" — когда тип неочевиден (+, ==).

Пример:

javascript
const user = {
  name: "Alex",
  age: 30,
  [Symbol.toPrimitive](hint) {
    return hint === "string" ? this.name : this.age;
  }
};

console.log(+user); // 30 (number)
console.log(`${user}`); // "Alex" (string)
console.log(user + 10); // 40 (default -> number)

Если метод не определён, движок использует valueOf() или toString().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы