GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Symbol/JavaScript/5-to-primitive.js at master · HowProgrammingWorks/Symbol Expand file tree/ Copy path5-to-primitive.jsMore file actions 26 lines (20 loc) · 547 Bytes / Copy path5-to-primitive.jsFile metadata and controls26 lines (20 loc) · 547 Bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 'use strict'; console.log('"toPrimitive" in Symbol', 'toPrimitive' in Symbol); const person = { name: 'Gena', age: 19 }; person[Symbol.toPrimitive] = function (hint) { console.log('hint', hint); const primitives = { number: () => this.age, string: () => this.name, default: () => JSON.stringify(person), }; return primitives[hint](); }; Object.defineProperty(person, Symbol.toPrimitive, { enumerable: false, configurable: false, }); // Usage: console.log(+person); console.log(`${person}`); console.log(person + ''); |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |