Я был, проходящие через ES6 при условии, что это будет легко переключаться на ECMAScript 2017.Значение === с вызовом функции
Проходя, я запутался об этом коде
function f (x, y = 7, z = 42) {
return x + y + z
}
f(1) === 50
Который имеет ES5 эквивалент
function f (x, y, z) {
if (y === undefined)
y = 7;
if (z === undefined)
z = 42;
return x + y + z;
};
f(1) === 50;
я понимаю параметр по умолчанию вещь от него.
Но что означает f(1)===50
в обоих кодах? Какая польза от этого?
Вот еще один пример
function f (x, y, ...a) {
return (x + y) * a.length
}
f(1, 2, "hello", true, 7) === 9
Что f(1, 2, "hello", true, 7) === 9
значит?
Я понимаю, что ===
для сравнения LHS и RHS оператора, включая тип и не только значения.
Но почему он так использовался?
Просьба объяснить его использование.
Это ссылка, откуда я получил это. http://es6-features.org/#RestParameter
Оператор ['==='] (http://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used-in-javascript-comparisons) никоим образом не является новым , он существует в JavaScript с самого начала. –
Если вы имеете в виду «зачем делать сравнение и не назначать его переменной или использовать ее в цикле», вероятно, это просто тестовый код, который будет отображаться в консоли. –
это просто сравнение с их значением и типом данных – Beginner