[英]Javascript ifDefined helper method?
Java中是否為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;
看來作者正在使用它來進行typeof
檢查的簡寫方法:
environment.u = isDef(envInfo.u, environment.u);
environment.x = isDef(envInfo.x, environment.x);
environment.s = isDef(envInfo.s, environment.s);
Java中是否為
isDefined
提供輔助方法或類似方法?
不,沒有內置函數。
僅使用value !== undefined
或value != null
足夠簡短,它不保證額外的實用程序功能。 我知道的唯一本地“類型檢查”方法是Array.isArray
, isNaN
和isFinite
(以及它們的Number.is…
等效項)。
那沒有。 如果必須執行此操作,則不會為其創建實用程序文件。 通過使用速記變量和三元運算符,您可以在代碼中節省盡可能多的空間:
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;
為了比較:
該函數似乎要做的是檢查值是否未定義,如果是,則返回默認值。 否則,它將返回原始值。 這個名稱有些讓人誤解,我不相信JavaScript會直接內置任何模仿ifDefined
函數功能的東西。
如果您要查找的只是簡單地檢查是否已定義某些內容,則無需使用typeof
您可以將其與全局undefined
對象進行比較:
var x;
if(x !== undefined){
console.log('this will not run');
}
else{
console.log('this will run');
}
如果有興趣的話,可以多讀一些內容: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.