InterviewMap / CS-Interview-Knowledge-Map

Build the best interview map. The current content includes JS, network, browser related, performance optimization, security, framework, Git, data structure, algorithm, etc.
https://yuchengkai.cn/docs/frontend/
18.3k stars 2.57k forks source link

Errors in converting objects to basic types #168

Open yjhtry opened 5 years ago

yjhtry commented 5 years ago

The toString () method is invoked first when the date object is converted to a basic type. and Object calls toString () first when converted to a string

forexample one: let date = new Date() console.log(date.toString()); //Sun Dec 09 2018 16:48:43 GMT+0800 (中国标准时间) console.log(date.valueOf()); //1544345323377

    console.log(date + '5');  //Sun Dec 09 2018 16:48:43 GMT+0800 (中国标准时间)4

forexample two: let date = {name: 'yjh'} console.log(date.toString()); //[object Object] console.log(date.valueOf()); //{name: "yjh"}

    console.log(date + '5');  //[object Object]5

Your mistake: 对象在转换基本类型时,首先会调用 valueOf 然后调用 toString。