【发布时间】:2015-02-03 17:51:19
【问题描述】:
我想我已经知道这个问题的答案,但我正在寻找确认。
我想做的是在一个变量上调用 toString() 并且如果 null 返回一个空字符串。我知道我可以使用 String(null) 将 null 转换为“null”,但如果我想做这样的事情,那看起来太难看了:
var amount = myPossiblyNullVar.toString().toFloat();
甚至更简单
var amount = myPossiblyNullVar.toFloat();
我将 toFloat() 定义为
String.prototype.toFloat = function() {
var float;
float = parseFloat(this.cleanNum());
if (isNaN(float)) {
return null;
} else {
return float;
}
};
根据我的阅读,在 JavaScript 中扩展 NULL 似乎是不可能的。任何人都可以确认这一点或提供我没有想到的替代方案吗?
【问题讨论】:
-
是的;这是完全不可能的。
-
用
var amount = maybeNull || maybeNull.toFloat();保护它怎么样? (如果您对变量的每次出现都一致地这样做,那么null将无声地传播而不会出现错误。) -
TPC。这是个好建议。我现在处理它的方式看起来像
var amount = String(maybeNull).toFloat();我只是想要看起来像一个方法调用链的东西。愚蠢,但它困扰我。
标签: javascript null prototype