Javascript test (object && object! == "null" && object! == "undefined" ) - программирование

Javascript test (object && object! == "null" && object! == "undefined" )

Кажется, я много использую этот тест

if( object && object !== "null" && object !== "undefined" ){
    doSomething();
}

on objects Я возвращаюсь из служебного вызова или из чтения файлов cookie (поскольку разные браузеры возвращают разные значения null, undefined, "null" или "undefined").

Есть ли более простой/эффективный способ выполнения этой проверки?

4b9b3361

Ответ 1

Я не думаю, что вы можете сделать это проще, но вы, безусловно, можете преобразовать эту логику в функцию:

function isRealValue(obj)
{
 return obj && obj !== 'null' && obj !== 'undefined';
}

Затем, по крайней мере, ваш код будет выглядеть следующим образом:

if (isRealValue(yourObject))
{
 doSomething();
}

Ответ 2

Если у вас есть jquery, вы можете использовать $.isEmptyObject().

$.isEmptyObject(null)
$.isEmptyObject(undefined)
var obj = {}
$.isEmptyObject(obj)

Все эти вызовы вернут true. Надеюсь, что это поможет.

Ответ 3

Если object является правдивым, мы уже знаем, что это не null или undefined (предполагая, что строковые значения являются ошибкой). Я предполагаю, что требуется тест null, а не undefined.

Если это так, простое сравнение с null или undefined заключается в сравнении != null.

if( object != null ){
    doSomething();
}

Функция doSomething будет работать, только если object не является null и undefined.

Ответ 4

может быть, как это

   if (typeof object !== "undefined" || object !== null)
    // do something

Ответ 5

if(!!object){
  doSomething();
}