是否可以在空值的原型中添加方法?

Is it possible to add a method to the prototype of the null value?

我想我已经知道这个问题的答案了,但我正在寻找确认。

我想做的是在一个变量上调用 toString(),如果为 null return 一个空字符串。我知道我可以使用 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。任何人都可以证实这一点或提供一个我没有想到的替代方案吗?

您不想修改 JavaScript 空原型。

var amount = maybeNull ? maybeNull.toFloat() : null;

如果你有 null 传播支持 (ES7)

 var amount = maybeNull?.toFloat();

如果 maybeNull 为 null,?. 将 return null 而不是尝试调用 toFloat().