Проверьте, существует ли объект в JavaScript

измените ресурс строки приложения на ваше новое действие

295
задан AustinWBryan 4 June 2018 в 17:03
поделиться

1 ответ

Если вы заботитесь только о его существовании (было ли оно объявлено?), Достаточно утвержденного ответа:

if (typeof maybeObject != "undefined") {
   alert("GOT THERE");
}

Если вы заботитесь о том, чтобы оно имело действительное значение, вы должны добавить:

if (typeof maybeObject != "undefined" && maybeObject != null ) {
   alert("GOT THERE");
}

Как typeof( null ) == "object"

например bar = { x: 1, y: 2, z: null}

typeof( bar.z ) == "object" 
typeof( bar.not_present ) == "undefined" 

таким образом вы проверяете, что это ни null, ни undefined, и, поскольку typeof не выдает ошибку, если значение не существует плюс && коротких замыканий, вы никогда не будете получить ошибку во время выполнения.

Лично я бы предложил добавить куда-нибудь помощника fn (и давайте не будем доверять typeof()):

function exists(data){
   data !== null && data !== undefined
}

if( exists( maybeObject ) ){
    alert("Got here!"); 
}
1
ответ дан 23 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: