[TIL]8月3日:ES 6の新機能を知る!


8月3日のTILが遅くなりましたが!
🤔ES 6とは一体何でしょうか?
Javascriptとは何ですか.javascriptとは何ですか.ES 6 javascriptとは何ですか.
[リンク]ではjavascriptの歴史を簡単に振り返り,答えを得た.
ECMAScript 2015は、Javaに関係のないJavaScriptの2番目の改訂版であり、ES 6またはECMAScript 6とされている.
つまりjavascriptが変わった!
👀ではJavaScript構文にどのような影響があるのでしょうか.
ES 6の新機能[リンク]
見てみると、見覚えのあるキーワードや方法がいくつかあります.
代表的に,ブロックレベルのscopeで変数を宣言できるletキーワードが出現した.
ES 5がvarで変数を宣言しているのは知っていますが、letキーワードは初めてです.両者の違いは通常反発(letは反発できずvarのみ)と呼ばれ、[リンク]必ずしもそうではないようだ.暇なときはよく見てください.
😱スコフとクロゼ?
モジュールを理解しようと[リンク]のサンプルコードを自分で開きました.
このコードのbar関数はモジュールではありません(関数で定義された関数barが関数で呼び出されるため).
function foo() {
    var color = 'blue';
    function bar() {
        console.log(color);
    }
    bar();
}
foo();
このコードのbar関数はcloserです!私が理解しているように、foo()が返すbar関数はbar関数の外部のfooをouternal語彙環境(外部言語環境と直訳)に決定しているので、それ以外では変数検出はできません!巨人を攻める中でワマリアに閉じ込められた人々(bar()関数に代表される)が外の世界を知らないように?
var color = 'red';
function foo() {
    var color = 'blue';
    function bar() {
        console.log(color);
    }
    return bar;
}
var baz = foo();
baz();
ええと、この状況も考えてもいいです.
var color2 = 'red';
function foo2() {
    function bar() {
        console.log(color2);
    }
    return bar;
}
var baz = foo2();
baz();
結果は赤です.その理由は私に考えさせてください.