JS Built-ins
SymboltoPrimitiveintermediate

Symbol.toPrimitive β€” number hint

πŸ“– Usage Example
const money = {
  [Symbol.toPrimitive](hint: string) {
    return hint === 'number' ? 100 : 'USD'
  }
}
+money   // β†’ 100

Unary + triggers the 'number' hint, calling [Symbol.toPrimitive] with hint === 'number'.

Custom Coercion with Number Hint

When an object defines [Symbol.toPrimitive], it receives a hint of 'number', 'string', or 'default'.

Challenge: Verify that +obj triggers the number hint.

πŸ’‘ Hints (1)
  • β€’ Use the unary + operator to trigger the number hint.