10. ES5 VS ES6(変数・定数)
// ES5
var variant = 0;
function foo() {
console.log(variant); // undefined(変数巻き上げ)
{
var CONSTANT = 1; // 変えるなよ!絶対変えるなよ!
var variant = 1;
}
console.log(CONSTANT); // ここでもアクセスできる
}
// ES6
let variant = 0;
function foo() {
console.log(variant); // 0
{
const CONSTANT = 1; // 変えるとエラー!
let variant = 1;
}
console.log(CONSTANT); // エラー!
}
11. ES5 VS ES6(配列のループ)
// ES5
var data = [1, 2, 3];
for (var i = 0; i < data.length; i++) {
var datum = data[i];
console.log(datum * datum);
}
// ES6
const data = [1, 2, 3];
for (const datum of data) {
console.log(datum * datum);
}