JavaScript 中的 const 关键字范围

2024-04-04

1. >>> const a = 2
2. >>> var a = 3
3. >>> a = 4
4. >>> a // print 2

为什么允许运行3号线? const 看起来比没有任何关键字更“全局”......


const范围被定义为“块范围”(其范围仅限于声明它的块)。

MDN 文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const:

常数是块范围的,很像使用定义的变量let陈述。常数的值不能通过以下方式改变 重新分配,并且不能重新声明。

关于您的具体问题: 首先正如评论所说const与 ES6 相关。我不了解你,但我明白(输入你的第 2 行:var a = 3;): SyntaxError: 标识符 'a' 已被声明 所以你的例子不太可能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 中的 const 关键字范围 的相关文章

随机推荐

  • 条码字段长度

    我正在写一些考勤软件 每个会员都会有一张带有条形码的身份证 他们将用它来登录活动 条形码字段在我的数据库中应该有多长 我想要接受 Code 39 和 Code 128 条形码 我知道这些是可变长度代码 那么我应该将最大长度设置为多少 Tha
  • 将方法指针转换为整数,然后调用它

    我想知道以下是否可能 如果可以 怎么办 请代码示例 如何储存一个指向对象方法的指针 as an 整数值 如何将该整数值转换回 方法指针 以及call it 我想要做的是将 方法指针 存储在 TComponent 派生对象的整数标记值中 然后
  • 如何确认SQL注入

    有什么方法可以确认特定的安全漏洞是通过 SQL 注入完成的吗 这里没有简单的方法 但是如果您启用了用于记录每个 SQL 语句的 SQL 服务器 这就是我要做的 通常 当我在某处进行 SQL 注入时 我会在结束前一个字符串后使用其中一个作为始
  • 如何在Fragment中实现缩放捏合手势

    我用过 ScaleGestureDetector 我使用了这段代码 但它在片段中不起作用 而且也没有显示任何错误 请任何人都可以帮助我解决这个问题 提前致谢 但是当我在活动中使用相同的代码时它工作得很好 public class Fragm
  • 如何使用 Groovy 获取 Jenkins 当前构建项目的具体信息?

    在 Jenkins Hudson 中 在 Postbuild Groovy 脚本的帮助下 我想获得以下其中一项 环境变量 例如当前的 JOB NAME BUILD NUMBER 等 当前项目的特定版本号的结果 当前项目中最后一次不成功构建的
  • 在 Node.js 数据流中通过换行获取块

    有一次我认为你可以告诉 Node js 子进程按换行符对数据进行分块 如下所示 子进程的 stderr 数据事件针对字符和单词而不是行触发 理想情况下 我可以传递一个标志来告诉流仅在一行数据准备就绪时触发数据事件 难道就没有办法做到这一点吗
  • Android - 即使应用程序被终止或设备重新启动,也会在后台运行服务

    我想保持服务在后台运行 即使我的应用程序被终止 我在用着android intent action USER PRESENT事件 但该服务仅在屏幕解锁时运行 我试过android intent action BOOT COMPLETED但下
  • Android 悬浮窗

    我想制作一个红色的覆盖窗口 你可以在下面看到我的代码 当我单击按钮时它不执行任何操作 哪里有问题 我怎样才能解决这个问题 请提出建议 谢谢你 public class MainActivity extends AppCompatActivi
  • 如何针对发布版本 APK 运行 Android/Robotium Instrumentation 测试用例?

    我有一个 Android 项目设置及其纯Java在PC上运行的单元测试项目 在模拟器上运行的功能 集成测试项目 这两个人利用InstrumentationTestCase2测试用例以及 Robotium 框架 我可以从 Eclipse 中运
  • 在詹金斯中找不到 hudson*.groovy

    我正在尝试使用 groovy 脚本配置 jenkins 作业 我不知道我的配置做错了什么 我什至无法执行一个简单的 groovy 命令 例如 println System getenv PATH 当詹金斯尝试构建时 它显示以下堆栈跟踪 然后
  • 新的 C++ 返回语法是否受到限制?

    我开始了一个新的私人项目并决定使用更多C 11 https en wikipedia org wiki C 2B 2B11 14 https en wikipedia org wiki C 2B 2B14这次 所以我也开始使用新的返回语法
  • ' aria-label='错误 F# - c# 异步调用:将 Threading.Tasks.Task 转换为 Async<'a>'> 错误 F# - c# 异步调用:将 Threading.Tasks.Task 转换为 Async<'a>

    当我尝试从 F 代码调用 C 库中的异步方法时 我收到以下编译错误 该表达式原本应具有 Async 类型 但此处具有 Threading Thread Tasks Task 类型 SendMessageAsync位于 C 库中并返回Thre
  • 类型错误:尝试在 Express JS 中使用 Mustache 时,this.engine 不是函数

    作为我在 NodeJS 上尝试的第一件事 我正在构建一个简单的应用程序 它显示一个 HTML 页面 告诉访问者他们的 IP 地址 它看起来是这样的 var express require express var app express ap
  • C# 程序占用太多CPU?

    我有一个程序 它在启动时不断地在 3 个独立的计时器之间切换 我的应用程序的主线程有一个 while 循环 它不断检查全局变量是否已设置为 true 如果设置为 true 它将停止一个计时器并启动另外两个计时器 一个连续 另一个自动停止 如
  • 什么是 Qt 裸机?

    QtCreator 有一个名为 Bare Metal 的插件 裸机是指没有操作系统的计算机 我还没有看到太多关于Qt Bare Metal开发的内容 这是为裸机系统开发 Qt 的一种方法吗 Qt 可以在没有操作系统的系统上运行吗 如果是 这
  • 如何在 Chrome 操作系统或 Chrome 扩展程序的打包应用程序中启用摄像头和麦克风?

    我正在测试场景 我在单独的窗口中调用环聊网页 但应用程序无法访问麦克风和摄像头 按钮为红色 并且消息显示 环聊无法使用选定的麦克风 摄像头 我已包含在权限中 audioCapture and videoCapture 必须做什么才能使其发挥
  • ValueError:缓冲区数据类型不匹配,预期为“Python对象”,但得到了“双精度”

    我正在尝试读取 hdf 格式的文件 之前工作正常 但现在突然出现以下错误 pandas libs writers pyx in pandas libs writers string array replace from nan rep Va
  • 如何计算数组中对象键的总和 - javascript

    Question 我正在使用 firebase 和本地反应 我从我的 firebase 数据库返回了一个数组 如下所示 Object Object Object 在每个对象下 我返回了一个项目 level 4 所以我有三个包含 4 5 6
  • 将价格四舍五入至最接近的 $xx.99

    我想将价格四舍五入 向上或向下 到最接近的 xx 99 美元 例如 17 99 gt Stay as is 22 03 gt 21 99 33 85 gt 33 99 45 gt 44 99 加 0 01 四舍五入 减 0 01 input
  • JavaScript 中的 const 关键字范围

    1 gt gt gt const a 2 2 gt gt gt var a 3 3 gt gt gt a 4 4 gt gt gt a print 2 为什么允许运行3号线 const 看起来比没有任何关键字更 全局 const范围被定义为