public static parseInt(val: any, defaultValue: number): number {
if (val == null || val == '' || val == 'null' || val == 'NULL') {
// garbage
return defaultValue
}
if (!isNaN(val)) {
// number
return Number.isInteger(val) ? val : Math.round(val)
}
if (typeof val === 'string') {
// string
const result = parseInt(val)
return isNaN(result) ? defaultValue : result
}
// garbage
return defaultValue
}
поясни плиз - я не эксперт - вроде если тип не важен то == норм ? а === это с типом
двойное с преобразованием типов причем бывает с множественным и много косяков можешь на этом словить
так а где ошибка
непредсказуемое поведение при различные входных типах
ну где конкретно - там с константами сравнение
оно преоразовывать типы быдует, ставь тройное тогда без
Обсуждают сегодня