Поскольку JavaScript является языком с динамической типизацией, это означает, что вам не нужно указывать тип для объявления переменной, во время определенного сценария ios (такого как тот, который вы указали), он должен автоматически обнаруживать введите и приведите / преобразуйте его в соответствующий тип, если это необходимо, в методике, известной как coercion .
В вашем сценарии JavaScript ожидает логическое значение в качестве аргумента оператора if но то, что предоставляется, это скорее число. Таким образом, в этом случае JavaScript пытается привести это целочисленное значение к логическому значению. Стратегия, используемая JavaScript для приведения чисел к целым числам, следующая:
Если число равно 0, JavaScript приводит его к ложному значению, тогда как для любого другого числа оно приводится к истинному .
Для строк:
, если строка является пустой строкой (""
), она приводится к значению false, тогда как для любого другого непустого значения строки она приводится в true.
Значения, приведенные к false
, называются ложными значениями , а значения, приведенные к true
, обозначаются истинными значениями .
Надеюсь, это поможет. Для дальнейших чтений проверьте это