Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ifDefined助手方法?_Javascript - Fatal编程技术网

Javascript ifDefined助手方法?

Javascript ifDefined助手方法?,javascript,Javascript,Javascript中是否定义了isDefined的助手方法或类似方法?我刚刚在继承的实用程序文件中发现: 'use strict'; var me = { ifDefined : ifDefined, ifDef : ifDefined, isDefined : isDefined, isDef : isDefined, }; function isDefined

Javascript中是否定义了
isDefined
的助手方法或类似方法?我刚刚在继承的实用程序文件中发现:

'use strict';

var me = {
    ifDefined           : ifDefined,
    ifDef               : ifDefined,
    isDefined           : isDefined,
    isDef               : isDefined,
};

function isDefined (value) {
    return (typeof value != 'undefined');
}
function ifDefined (value, defaultValue) {
    return isDefined(value) ? defaultValue : value;
}

module.exports = me;
作者似乎正在使用它为
类型的检查提供一种速记方法:

environment.u = isDef(envInfo.u, environment.u);
environment.x = isDef(envInfo.x, environment.x);
environment.s = isDef(envInfo.s, environment.s);
Javascript中是否定义了
isDefined
的助手方法或类似方法

不,不存在用于此的内置函数

只需使用
value!==未定义的
值!=null
足够短,不能保证额外的实用函数。我所知道的唯一本地“类型检查”方法是
Array.isArray
isNaN
isFinite
(以及它们的
Number.is…
等价物)

Javascript中是否定义了
isDefined
的助手方法或类似方法

不,不存在用于此的内置函数


只需使用
value!==未定义的
值!=null
足够短,不能保证额外的实用函数。我所知道的唯一本地“类型检查”方法是
Array.isArray
isNaN
isFinite
(以及它们的
Number.is…
等价物)。

此函数似乎要做的是检查值是否未定义,如果未定义,则返回默认值。否则,它将返回原始值。这个名字有点误导人,我不相信JavaScript中直接内置的任何东西会模仿
ifDefined
函数的功能

如果您要查找的只是检查某个对象是否已定义,那么使用
typeof
是不必要的-您可以简单地与全局
未定义的对象进行比较:

var x;
if(x !== undefined){
    console.log('this will not run');
}
else{
    console.log('this will run');
}
如果有兴趣,可以额外阅读:

此函数的作用似乎是检查值是否未定义,如果未定义,则返回默认值。否则,它将返回原始值。这个名字有点误导人,我不相信JavaScript中直接内置的任何东西会模仿
ifDefined
函数的功能

如果您要查找的只是检查某个对象是否已定义,那么使用
typeof
是不必要的-您可以简单地与全局
未定义的对象进行比较:

var x;
if(x !== undefined){
    console.log('this will not run');
}
else{
    console.log('this will run');
}
如果有兴趣,可以额外阅读:
没有。如果我必须这样做,我不会为它创建实用程序文件。通过使用速记变量和三元运算符,您可以在代码中节省同样多的空间:

var udef = undefined;

environment.u = envInfo.u == udef ? environment.u : envInfo.u;
environment.x = envInfo.x == udef ? environment.x : envInfo.x;
environment.s = envInfo.s == udef ? environment.s : envInfo.s;

作为比较:

没有。如果我必须这样做,我不会为它创建实用程序文件。通过使用速记变量和三元运算符,您可以在代码中节省同样多的空间:

var udef = undefined;

environment.u = envInfo.u == udef ? environment.u : envInfo.u;
environment.x = envInfo.x == udef ? environment.x : envInfo.x;
environment.s = envInfo.s == udef ? environment.s : envInfo.s;

比较:

你到底在问什么?
typeof
运算符是检查标识符是否已定义的方式。你希望有一个不同的内置软件吗?这些函数有什么问题?我在问是否存在这样的速记方法。作者创建此文件似乎是为了在其代码中不包含
typeof
调用。然后,不存在内置的
isDefined
。下次尝试搜索MDN:,。你到底在问什么?
typeof
运算符是检查标识符是否已定义的方式。你希望有一个不同的内置软件吗?这些函数有什么问题?我在问是否存在这样的速记方法。作者创建此文件似乎是为了在其代码中不包含
typeof
调用。然后,不存在内置的
isDefined
。下次尝试搜索MDN:。