JavaScript

Приколы с преобразованием типов в JS

Почему так?
Ошибки самого JS или я чего-то недосмотрел?
Как часто можно встретить такие ошибки?
IK
Ivan Korol
404
(Ошибки самого JS)
Не каких ошибок не надо занижать интеллектуальные способности JS
эта особенность настрого сравнения если вы пытаетесь сравнивать несравнимое То JS не плюётся в вас ошибками с надписями что вы не правы а просто используя свой ии делоет это за вас итак

"0"==true//false и смотрит что вы там в строке написали если там написан ноль то значение нулевое
также в его понимании и это тоже ноль

[0]==true//false
[]==true//false
""==true//false

(или я чего-то недосмотрел) Определённо !!!

Иван Черданцев
Иван Черданцев
87 174
Лучший ответ
А Boolean("0") == true слабо написать?

Или совсем непонятно, что "0" и Boolean("0") - это разные вещи!
Какой-то совсем уж дебильный вопрос, даже по меркам Ответиков... Что именно "почему"? Почему непустая строка преобразуется в булевый тип как true (➝ потому что не пуста), или почему нуль не равен единице (➝ потому что это разные значения)?
Ну раз неспособен ты логически думать (находить ответ самостоятельно) и формулировать мысли - зачем тогда вообще лезешь в программирование?.. в котором эти навыки КЛЮЧЕВЫЕ. Не очень понятно, на что вы такие надеетесь, т. е. какую перспективу для себя видите в попытках достичь заведомо недостижимое. Ведь просто теряете время, вместо того чтобы совершенствоваться в другом деле, к которому есть способности. У каждого свои предрасположенности, и далеко не у всех они лежат в области "медом намазанного" айти.
BX
Burxan Xaydarov
80 140
Это ошибки дизайна JS. И это твоя ошибка: не изучаешь JS по серьёзной книге, где об этом написано.
KS
Kostyan Safronov
58 065
Ivan Korol Ну ка, дед, кинь название "серьезной книги"
Ошибка в примере, так как для получения false нужно писать Boolean(0), а не Boolean("0").
Ноль должен быть без кавычек, иначе он будет рассматриваться как строка.
Рашад Агаев
Рашад Агаев
38 877
в js нет типов, есть значения, эти значения как-то друг к другу подгоняются
следовательно и ошибок типизации не может быть, что какие-то типы друг к другу не подходят. короче js просто лепит всё в одну кашу, вот и всё.

те кто приходят в js со статических языков, в которых привыкли что к каждой переменной строго привязаны типы, и начинают разсуждать, вот какой js плохой язык.
Vladimir Parfenov
Vladimir Parfenov
5 134