账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    javascript es6的暂时性死区
    41
    0

    function bar(x=y, y=2){ // 此时形成暂时性死区 (是不是说明形参是let声明的了?) 如果不是let什么的就不应该出现暂时性死区把

    return [x,y]

    }

    如果形参是let声明的,那么
    function bar(x=2){

    var x = 3;  // 在里面重新定义了 x, 不是应该报错吗?

    }

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 在JavaScript ES6中,"暂时性死区(Temporal Dead Zone, 简称TDZ)" 是一个变量声明的特性。当一个作用域内(如块级作用域或函数作用域)使用let或const声明变量但还未执行到该声明语句时,在这个区域中引用该变量会抛出ReferenceError,因为这个变量在这个区域内是不可用的,这个区域就被称为暂时性死区。 例如: ```javascript if (true) { console.log(x); // 报错,ReferenceError: x is not defined let x = 1; } ``` 在上述代码中,`console.log(x)` 处于 `let x` 的暂时性死区中,因此尝试访问x会导致错误,即使在同一个块级作用域内,也必须在变量声明之后才能使用它。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部