Чтобы добавить к тому, что сказали другие, если вы просто хотите узнать, существует ли свойство и имеет ли оно не ложное значение (не undefined
, null
, false
, 0
, ""
, NaN
и т. Д.), Вы можете просто сделать это:
if (foo.bar) {
// code here
}
До тех пор, пока значения Falsey не будут вам интересны для ваших конкретных обстоятельств, этот ярлык сообщит вам, была ли для переменной установлена какая-то полезная для вас или нет.
Если вы хотите узнать, существует ли свойство объекта каким-либо образом, я считаю это наиболее полезным, кратким и читабельным:
if ('bar' in foo) {
// code here
}
Можно также использовать что-то похожее в аргументах функции (опять же, если значение Falsey не то, что вас волнует):
function foo(bar) {
if (bar) {
// bar was passed and has some non-falsey value
}
}