我已經經歷了ES6假設它會很容易切換到2017年的EcmaScript含義與函數調用
儘管經歷,我弄糊塗了這段代碼
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中。 –
如果你的意思是「爲什麼做一個比較,而不是將它分配給一個變量或在一個循環中使用它」,它可能只是測試代碼在控制檯中顯示。 –
它只是一個比較它們的值和數據類型(s) – Beginner