Вот это
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined' || item.PROPERTY_BAL_VALUE == 'NaN'))
Тоже самое что?
if (typeof(item.PROPERTY_BAL_VALUE == 'undefined') || typeof (item.PROPERTY_BAL_VALUE == 'NaN'))
И да и нет.
Во-первых, оба ваши примера ошибочны, так как typeof
во всех вариантах будет выдавать boolean
, ведь вы проверяете не тип поля объекта, а тип логической операции:
const item = { PROPERTY_BAL_VALUE: undefined }
console.log(typeof(item.PROPERTY_BAL_VALUE == 'undefined' || item.PROPERTY_BAL_VALUE == 'NaN'))
Во-вторых, NaN
имеет тип number
, а не NaN
, поэтому форму записи typeof(some) == NaN
использовать бессмысленно.
В-третьих, нет смысла использовать typeof
в таких случаях, ведь можно просто проверить используя сравнение с undefined
и функцию isNaN
:
const item = {
PROPERTY_UNDEFINED: undefined,
PROPERTY_NAN: NaN,
}
console.log(item.PROPERTY_UNDEFINED === undefined || isNaN(item.PROPERTY_UNDEFINED))
console.log(item.PROPERTY_NAN === undefined || isNaN(item.PROPERTY_NAN))
Кстати, кроме того, стоит учитывать, что undefined
- это falsy-значение, поэтому, в некоторых случаях стоит использовать строгое сравнение (===
) или действительно typeof
:
const item = {
PROPERTY_UNDEFINED: undefined,
PROPERTY_NULL: null
}
console.log("item.PROPERTY_UNDEFINED == undefined:", item.PROPERTY_UNDEFINED == undefined)
console.log("item.PROPERTY_NULL == undefined:", item.PROPERTY_NULL == undefined)
console.log("item.PROPERTY_UNDEFINED === undefined:", item.PROPERTY_UNDEFINED === undefined)
console.log("item.PROPERTY_NULL === undefined:", item.PROPERTY_NULL === undefined)
console.log('typeof(item.PROPERTY_UNDEFINED) == "undefined":', typeof(item.PROPERTY_UNDEFINED) == "undefined")
console.log('typeof(item.PROPERTY_NULL) == "undefined":', typeof(item.PROPERTY_NULL) == "undefined")
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня такая структура шаблона:
Хочу отметить, что у меня Visual Studio 2019, пакет v142Как мне создать проект для работы с win 32 api
У меня есть проект, в которой я подтащил несколько либ, их компилял из сорсов самВпоследствии возникли ошибки линковки и это было связано...