let に自分自身を代入できない デフォルト引数も

まず これまでの var です
var value = "globaValue"

;(function (){
var value = value
console.log(value)
})()
// undefined
定義に自分自身を書くと undefined が入ります
もちろん外のスコープは見れません

これが let や const だと
var value = "globaValue"

;(function (){
"use strict"
let value = value
console.log(value)
})()
Uncaught ReferenceError: value is not defined(…)
var value = "globaValue"

;(function (){
"use strict"
const value = value
console.log(value)
})()
Uncaught ReferenceError: value is not defined(…)

参照エラーです
存在しないらしいです

コレと一緒です
"x" in window
// false

x
Uncaught ReferenceError: x is not defined(…)

ところで デフォルト引数にやってみると
var value = "globaValue"

function fn(value = value){
}
Uncaught ReferenceError: value is not defined(…)

外スコープを見れるわけでもなく let と同じでエラーです


Firefox だと let と const は一緒ですが デフォルトは引数は var と同じでエラーなしです
相変わらずですね