我可以像任何其他对象一样扩展未定义的对象吗?

时间:2015-09-14 17:07:45

标签: javascript

我想为String对象创建一个检查它是否未定义的方法:

String.prototype.isDefined = (str) => typeof str === 'undefined';

虽然,如果字符串未定义,我不能使用此方法,否则JavaScript将会中断(并且它也将永远为真)。我想知道我是否可以以类似的方式扩展未定义的对象。我试过了:

undefined.prototype.isDefined = () => false;

但它似乎不起作用。

我知道我可以写一个函数,但目的是更清晰,更容易阅读的代码。

1 个答案:

答案 0 :(得分:4)

不,你不能。 undefined不是一个对象,它是一个值。

您无法编写检查字符串是否未定义的函数。如果它未定义,则不是字符串。它未定义。

我不知道

不干净或可读的东西
function isDefined(x) { return x !== undefined; }