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
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();
}
|
A la node.js
let map = function(input,callback){
let results = [],
handleIterationResult = function(error,result){
if (error) {callback(error); return;}
results.push(result);
if (results.length === input.length){
callback(null,results);
}
};
input.forEach(function(num){
sum(num,handleIterationResult);
});
};
let sum = function (num, callback){
callback(null, num + num);
};
map([2,4,1], function (error,result){
if (error) {console.error(error);return; };
console.log(result);
});
exemple de décomposition
Allez dans votre console et tapez :
const doc = document.documentElement;
const { clientWidth, clientHeight } = doc;
console.log( `la largeur de la fenêtre est : ${clientWidth} ` );
const doc = document.documentElement;
const { clientWidth, clientHeight } = doc;
console.log( `la largeur de la fenêtre est : ${clientWidth} ` );
MAp en action
let tag = [];
explore = (node) => {
for (let elt of node.children) {
tag.push(elt.nodeName);
explore(elt);
}
}
explore(document.body); //
getEleCnt = (arr) => {
return arr.reduce(function(prev,next){
prev.has(next) ? prev.set(next,prev.get(next) + 1) :prev.set(next,1);
return prev;
},new Map());
}
let allCntEle = getEleCnt(tag);
for(let [u, r] of allCntEle.entries())
console.log(`${u}: ${r}`);
explore = (node) => {
for (let elt of node.children) {
tag.push(elt.nodeName);
explore(elt);
}
}
explore(document.body); //
getEleCnt = (arr) => {
return arr.reduce(function(prev,next){
prev.has(next) ? prev.set(next,prev.get(next) + 1) :prev.set(next,1);
return prev;
},new Map());
}
let allCntEle = getEleCnt(tag);
for(let [u, r] of allCntEle.entries())
console.log(`${u}: ${r}`);
Inscription à :
Articles (Atom)