【发布时间】:2013-06-27 02:49:06
【问题描述】:
我想知道是否有任何方法可以覆盖 typeof 运算符的行为。具体来说,当typeof 运算符在foo = "hi" 和bar = new String("hi") 上都被调用时,我想返回“字符串”。
typeof bar 返回“object”,但我希望它返回“string”。
我知道这可以通过声明我自己的函数或访问构造函数名称来完成,但我想修改 typeof 运算符的行为。
编辑 - 我正在寻找一些可以在程序开头添加的代码,它可以修改程序其余部分中所有 typeof 运算符的行为。
【问题讨论】:
-
我 99% 确定您不能覆盖
typeof...只需创建自己的函数 -
想了很多..只是想确定一下..谢谢!
-
没问题!不确定是否有人可以为我提供文档支持,但是...
-
你为什么不做
typeof obj.valueOf()?它将为两者返回一个字符串原语。 -
@ian 看起来 typeof 是一个运算符,所以不要认为您可以更改它:ecma-international.org/ecma-262/5.1/#sec-11.4.3
标签: javascript typeof