Когда имеет смысл использовать двойное равенство (свободное равенство) в Javascript? - PullRequest
0 голосов
/ 26 мая 2018

Учитывая принуждение типа и проблему производительности , как новичку в JS, я всегда старался избегать использования двойного равенства и вместо этого выбрал тройное равенство.

Однако когда имеет смысл использовать двойное качество?

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Краткий ответ: никогда не имеет смысла использовать == вместо ===.

Длинный ответ: хотя это никогда не имеет смысла, есть случаи, когда вы хотите написать меньше кода, и выуверен в вашем вводе.

== не так уж и плохо, если вы действительно понимаете, что правда.Есть некоторые ошибки, например [1] == true и [2] == false.

Помните, что основной целью Javascript было создание простого языка для веб-дизайнеров, это один изпричины всего этого, с чем вы сталкиваетесь.

В качестве простого примера, как сказал Бармар , лучший способ - использовать его, чтобы избежать преобразования данных и проверки равенства.Вот еще один пример:

const deleteTodos = _ => {
    if (howManyTasksToRemoveInput.value == tasks.length) {
        warningLabel.innerHTML = "You can't remove all the list";
    } else if (howManyTasksToRemoveInput.value > tasks.length) {
        warningLabel.innerHTML = "You DEFINITELY can't remove more tasks than you have";
    } else {
        tasks.splice(0, +howManyTasksToRemoveInput.value);
    }
}
0 голосов
/ 26 мая 2018

Если вы хотите, чтобы Javascript автоматически преобразовывал типы.Например,

if (someElement.value == 3)

value ввода всегда является строкой.Оператор == автоматически преобразует его здесь в число, поэтому вам не нужно писать

if (parseInt(someElement.value) === 3)

Будьте осторожны, поскольку некоторые из автоматических преобразований могут не выполнять то, что вы ожидаете.

...