Environment ② ブロックコープのレキシカル環境 { bar: “bar” } Environment Record ① への参照 Outer Environment ③ ブロックコープのレキシカル環境 { baz: “baz” } Environment Record ② への参照 Outer Environment × スコープ チェーン ブロックスコープのレキシカル環境
Environment Record null Outer Environment ② foo スコープのレキシカル環境 { color: “red”, bar: Closure(bar, ②) } Environment Record ① への参照 Outer Environment ③ bar スコープのレキシカル環境 {} Environment Record ② への参照 Outer Environment 関数スコープのレキシカル環境
foo: Closure(foo, ①), fn: Closure(bar, ②) } Environment Record null Outer Environment ② foo スコープのレキシカル環境 { color: “red”, bar: Closure(bar, ②) } Environment Record ① への参照 Outer Environment ③ bar スコープのレキシカル環境 {} Environment Record ② への参照 Outer Environment