首页 >web前端 >js教程 >块级函数声明在 ES6 严格和非严格模式下的行为如何?

块级函数声明在 ES6 严格和非严格模式下的行为如何?

DDD
DDD原创
2024-12-11 12:44:11620浏览

How Do Block-Level Function Declarations Behave in ES6 Strict and Non-Strict Modes?

ES6 中的块级函数语义

ES6 中引入了块级函数声明,引发了有关其语义的问题。

核心语义

Non-strict mode Strict mode
Hoisted and visible outside of the block Not visible outside of the block

Web 扩展行为

中浏览器中,Web 扩展语义适用于非严格模式下的块级函数:

Web Extensions Hoisted? Visible Outside of Block? TDZ?
Yes To both the block and function Yes, as a var declaration Undefined prior to block execution

严格模式说明

块级函数上下文中的“严格模式”是指包含函数声明的块所在的函数的严格性。以下示例演示了这一点:

// Non-strict surrounding code

{
    function foo() { "use strict"; }
}

此代码被视为函数 foo 的“严格模式”。

以上是块级函数声明在 ES6 严格和非严格模式下的行为如何?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn