是否可以像扩展其他对象一样扩展未定义对象

Can I extend the undefined object like any other object?

本文关键字:扩展 对象 一样 未定义 其他 是否      更新时间:2023-09-26

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

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

虽然,如果字符串是未定义的,我不能使用这个方法或JavaScript将打破(而且它将始终是真的)。我想知道是否可以以类似的方式扩展未定义对象。我试着:

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

但它似乎不工作。

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

不行。undefined不是一个对象,它是一个值。

你不可能编写一个检查字符串是否未定义的函数。如果它是undefined,它就不是字符串。这是未定义的。

我看不出

有什么不干净或不可读的
function isDefined(x) { return x !== undefined; }