小编Але*_*кин的帖子

存储的数字字符串在哪里?

有些代码例如.

let a = 1
a.__proto__.toString = function(){ return 'test'}
a.toString()
//"test"
a + '2'
//"12"
Run Code Online (Sandbox Code Playgroud)

我真的无法理解toString方法存储在哪里.如果我用可变对象做到这一点,我得到了

let o = {}
o.__proto__.toString = function(){ return 'test'}
o.toString()
//"test"
o + '2'
//"test2"
Run Code Online (Sandbox Code Playgroud)

这符合我的预期.所以,问题是,其中toStringNumber或其他不变类型存储并调用时类型转换发生.

javascript

21
推荐指数
1
解决办法
1056
查看次数

标签 统计

javascript ×1