byłem przechodzącej przez ES6 zakładając, że będzie to łatwe, aby przejść do ECMAScript 2017Znaczenie === z wywołania funkcji
podczas przechodzenia przez, mam mylić o tym kodzie
function f (x, y = 7, z = 42) {
return x + y + z
}
f(1) === 50
Który ma odpowiednik ES5
function f (x, y, z) {
if (y === undefined)
y = 7;
if (z === undefined)
z = 42;
return x + y + z;
};
f(1) === 50;
Zrozumiałem domyślną rzecz parametru z niego.
Ale co f(1)===50
znaczy w obu kodów? Co z tego korzysta?
Oto kolejny przykład
function f (x, y, ...a) {
return (x + y) * a.length
}
f(1, 2, "hello", true, 7) === 9
Co f(1, 2, "hello", true, 7) === 9
oznacza?
Rozumiem, że ===
dla porównania między LHS i RHS operatora, w tym typ obu, a nie tylko wartość.
Ale dlaczego został użyty w ten sposób?
Prosimy o wyjaśnienie sposobu użytkowania.
To jest link, skąd to otrzymałem. http://es6-features.org/#RestParameter
Operator ['===' (http://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used-in-javascript-comparisons) w żadnym wypadku nie jest nowy , istnieje w JavaScript od początku. –
Jeśli masz na myśli "dlaczego dokonujesz porównania i nie przypisujesz go do zmiennej lub używasz jej w pętli", prawdopodobnie jest to tylko kod testowy wyświetlany w konsoli. –
to tylko porównanie z ich wartością i typem danych: – Beginner