javascript - Javascript中的对象到原始转换:为什么不调用valueOf()方法,因为没有toString()方法
问题描述
let obj = {
valueOf() {
return "2";
}
};
alert(obj);
我认为在没有toString()的情况下, valueOf()将在需要字符串时被调用。
解决方案
这不会调用,因为它toString
在原型链中找到,如果我们创建一个没有任何原型的对象,它将调用
let obj = Object.create(null)
obj.valueOf =
function() {
return "2";
}
alert(obj);
推荐阅读
- swiftui - 如何在 SwiftUI 中创建像单元格一样对齐的文本单元格行
- reactjs - React, Typescript, Axios consume response?
- wpf - 如何让 Path 对象停止裁剪到其边界?
- java - 如何在 Java 中比较 2 个不同的 hashmap
- react-native - 如何安全地保存 redux-persist-transform-encrypt 密钥?
- python - SQLAlchemy - 会话返回值,游标不
- javascript - 渲染后如何在反应中获得状态
- flutter - 如何更改从颤动列表中生成的小部件的状态
- c++ - 使用 fork() 和 execl() 正在创建 2 个子进程
- r - R flexdashboard 与两个同时输入 $map_shape_click 不工作