simuler une boucle avec un itérateur

let a = ["d","e","n","i","s"];

for (let val, ret, it = a[Symbol.iterator]();
(ret = it.next()) && !ret.done;
) {
val = ret.value;
console.log( val );
}

"d" "e" "n" "i" "s"

l'opérateur ...

le comportement de l'opérateur ... dépend de comment et où il est utilisé.

spread
gathers
function fx(x,y,z) {
console.log( x, y, z );
}
fx( ...[1,2,3] );

function fx(x, y, ...z) {
console.log( x, y, z );
}
Fx( 1, 2, 3, 4, 5 );

portee

regardez la vidéo et tenter d'évaluer la valeur d'une expression.



Les deux codes suivants sont équivalents

ES2015
Before ES2015
let x = "G";

function f() {
  console.log(x);
}

{
  let x = "B";
  console.log(`x = ${x}`);
  f();
}
"use strict";

var x = "G";

function f() {
  console.log(x);
}

{
  var _x = "B";
  console.log("x = " + _x);
  f();
}