JavaScript check if variable exists (is defined/initialized)

前端 未结 29 1202
孤城傲影
孤城傲影 2020-11-22 00:59

Which method of checking if a variable has been initialized is better/correct? (Assuming the variable could hold anything (string, int, object, function, etc.))



        
29条回答
  •  灰色年华
    2020-11-22 01:38

    The typeof operator will check if the variable is really undefined.

    if (typeof variable === 'undefined') {
        // variable is undefined
    }
    

    The typeof operator, unlike the other operators, doesn't throw a ReferenceError exception when used with an undeclared variable.

    However, do note that typeof null will return "object". We have to be careful to avoid the mistake of initializing a variable to null. To be safe, this is what we could use instead:

    if (typeof variable === 'undefined' || variable === null) {
        // variable is undefined or null
    }
    

    For more info on using strict comparison === instead of simple equality ==, see:
    Which equals operator (== vs ===) should be used in JavaScript comparisons?

提交回复
热议问题