Кажется, что оператор строгого равенства предпочтительнее, когда это возможно - я поместил свой код в JSLint и получил следующий отзыв.
Код:
function log() {
console.log(arguments.length == 1 ? arguments[0] : arguments);
}
Отзыв от JSLint:
Problem at line 2 character 34: Expected '===' and instead saw '=='.
Мне любопытно узнать, какие преимущества ===
имеет здесь ==
. По сути, .length
возвращает Number
, а 1
также Number
. Вы можете быть уверены на 100%, поэтому ===
- это просто лишний дополнительный токен. Кроме того, проверка типа, хотя вы знаете, что типы всегда будут одинаковыми, также не имеет никакого преимущества в производительности.
Так в чем причина использования ===
здесь?