var arr = [1,2,3];
var o = [];
for(var i = 0; i<arr.length;i++) {
var val = arr[i];
o.push(function(){ alert(val); });
}
o.forEach(function(func){ func(); });
block scoped variables
const x = 1;
x = 2;
arrow functions
var double = (x) => x * 2;
alert(double(10));
/*
var alertLoc;
var obj = {
loc: 'Bangalore',
init: function(){
alertLoc = () =>
alert("We're at " + this.loc);
}
};
obj.init();
alertLoc();
*/
destructuring
var arr = [1, 2, 3];
func(arr);
function func([fst, snd, thd]){
alert(fst);
alert(thd);
}
destructuring/rest params
function destructure(...args){
var [options, callback] = args;
alert(options.v);
alert(typeof callback);
}
var o = {v: true}
destructure(o, () => 1);
template strings
var first = "John K."
var last = "Paul";
var t = `I'm ${first} ${last}!`;
alert(t);
function* inf(){
var i = 0;
while(true){
yield ++i;
}
}
for(var x of inf()){
alert(x);
if(x > 3) { break; }
}
class Greeter {
constructor(message) {
this.message = message;
}
greet() {
alert(this.message)
}
}
var greeter = new Greeter('Hey');
greeter.greet();