custom-@@toPrimitive.js 501 B

1234567891011121314151617181920
  1. test("basic functionality", () => {
  2. const o = {
  3. [Symbol.toPrimitive]: hint => {
  4. lastHint = hint;
  5. },
  6. };
  7. let lastHint;
  8. // Calls ToPrimitive abstract operation with 'string' hint
  9. String(o);
  10. expect(lastHint).toBe("string");
  11. // Calls ToPrimitive abstract operation with 'number' hint
  12. +o;
  13. expect(lastHint).toBe("number");
  14. // Calls ToPrimitive abstract operation with 'default' hint
  15. "" + o;
  16. expect(lastHint).toBe("default");
  17. });