首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在ECMAScript 2019 (ES10)的关键词中没有列出let?

在ECMAScript 2019 (ES10)的关键词中没有列出"let"的原因是因为"let"关键字实际上是在ECMAScript 2015 (ES6)中引入的。ES6是一个重要的版本,引入了许多新的语言特性,包括"let"和"const"关键字。

"let"关键字用于声明块级作用域的变量,与传统的"var"关键字有所不同。使用"let"声明的变量只在声明的块级作用域内有效,不会被提升到函数作用域顶部。这样可以避免一些常见的变量声明和作用域问题,提高代码的可读性和可维护性。

"let"关键字的优势包括:

  1. 块级作用域:使用"let"声明的变量只在当前块级作用域内有效,不会污染外部作用域。
  2. 不存在变量提升:使用"let"声明的变量不会被提升到作用域顶部,只有在声明语句之后才能访问。
  3. 重复声明报错:在同一个作用域内重复使用"let"声明同一个变量会报错,避免了变量重复声明的问题。

"let"关键字适用于各种JavaScript应用场景,特别是在需要严格控制变量作用域的情况下。例如,在循环中使用"let"可以避免常见的闭包问题,确保每次迭代都有一个独立的变量副本。

腾讯云提供的相关产品和服务中,与"let"关键字直接相关的可能是其云服务器产品。云服务器提供了灵活的计算资源,可以用于部署和运行JavaScript应用程序。您可以通过腾讯云云服务器产品了解更多相关信息:腾讯云云服务器

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

通过小事例来重温 ES10 几个新特性

作者:Carlos Caballero 来源: Dev 译者:前端小智 ---- ES10 虽然没有像 ES6 那么多新特性,但 ES10 仍然有一些有用特性。...[0]); // "l" 添加 /g 混合 let string = "Hello"; let ret = string.match(/l/g); // (2) [“l”, “l”]; 那么为什么要使用全新...U+2028 和 U+2029 字符 问题是, ES10 之前 EcmaScript 实际上并不完全支持 JSON 格式。...13.标准化 globalThis 对象 这在ES10之前, globalThis 还没有标准化,平时项目可以通过以下方式来兼容不同平台: var getGlobal = function ()...在这篇文章,咱们回顾了ES10(2019)中出现特性,并介绍了一些将在ES11(2020)中保持稳定特性,因为它们处于state 3,并且很可能在下一个版本中被标准化。

91810

【CuteJavaScript】ES2019 新特性汇总

最近 ECMAScript2019,最新提案完成:tc39 Finished Proposals,我这里也是按照官方介绍顺序进行整理,如有疑问,可以查看官方介绍啦~ 另外之前也整理了 《ES6/ES7...可选 catch 绑定 1.1 介绍 ECMAScript2019 最新提案,支持我们使用 try catch 错误异常处理时,选择性给 catch 传入参数。...2.2 使用 ES10 ,我们就可以直接使用 eval("'\u2029'"); 而不会再提示错误。 3....{flat,flatMap} ES10 之前,我们要将一个数组打平,由于官方没有对应 API,我们可能需要 lodash 活着手写循环去操作。...8.1 Array.prototype.flat ES10 ,官方新增一个 Array.prototype.flat 方法,将数组第一层数据打平,也仅限第一层。

77630

【ES】338- ECMAScirpt 2019 新特性汇总

最近 ECMAScript2019,最新提案完成:tc39 Finished Proposals,我这里也是按照官方介绍顺序进行整理,如有疑问,可以查看官方介绍啦~ 另外之前也整理了 【汇总】59篇原创系列汇总...可选 catch 绑定 1.1 介绍 ECMAScript2019 最新提案,支持我们使用 trycatch 错误异常处理时,选择性给 catch传入参数。...2.2 使用 ES10 ,我们就可以直接使用 eval("'\u2029'"); 而不会再提示错误。 3....{flat,flatMap} ES10 之前,我们要将一个数组打平,由于官方没有对应 API,我们可能需要 lodash 活着手写循环去操作。...8.1 Array.prototype.flat ES10 ,官方新增一个 Array.prototype.flat 方法,将数组第一层数据打平,也仅限第一层。

78820

ES1013个新特性示例

简介 ES10是与2019年相对应ECMAScript版本。这个版本新功能没有ES6(2015)那么多。但是,也不乏一些有用功能。 本文简单代码示例中介绍了ES10提供功能。...ES10,有一个获取描述访问器。 可选 Catch 参数变量 过去,try / catch语句中catch子句需要一个变量。...JSON⊂ECMAScript ES10之前版本,不接受非转义行分隔符U+2028和段落分隔符U+2029。 U+2028是段落分隔符。 U+2029是行分隔符。 ?...ES6,当在函数上调用toString时,它将根据ECMAScript引擎返回该函数字符串表示形式。如果可能,它将返回源代码,否则-一个标准化占位符。 ?...在这篇文章,我们回顾了ES102019)中出现功能,并介绍了一些ES11(2020)中将保持稳定功能,因为它们处于状态3,并且可能最终会在下一版实现标准化。

1.4K10

ES1013个新特性示例

简介 ES10是与2019年相对应ECMAScript版本。这个版本新功能没有ES6(2015)那么多。但是,也不乏一些有用功能。 本文简单代码示例中介绍了ES10提供功能。...ES10,有一个获取描述访问器。 ? 可选 Catch 参数变量 过去,try / catch语句中catch子句需要一个变量。...JSON⊂ECMAScript ES10之前版本,不接受非转义行分隔符U+2028和段落分隔符U+2029。 U+2028是段落分隔符。 U+2029是行分隔符。 ?...ES6,当在函数上调用toString时,它将根据ECMAScript引擎返回该函数字符串表示形式。如果可能,它将返回源代码,否则-一个标准化占位符。 ?...在这篇文章,我们回顾了ES102019)中出现功能,并介绍了一些ES11(2020)中将保持稳定功能,因为它们处于状态3,并且可能最终会在下一版实现标准化。

1.2K40

ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全

ECMAScript 2022(ES13)提案阶段,更倾向于面向对象 声明类字段:类字段可以顶层被定义和初始化 私有方法&字段:用#前缀来定义类私有方法和字段 类静态公共方法和字段:增加了静态公共字段...类,则返回真,并且也能判断私有字段 正则匹配索引:该提案提供了一个新/dflag,以获得关于输入字符串每个匹配开始和索引位置结束额外信息 在所有内置可索引数据上新增.at()方法 Object.hasOwn...2020(ES11) 新特性总结 ECMAScript 2019(ES10) Array.flat()和Array.flatMap():数组展平 String.trimStart()和String.trimEnd...Array.prototype.sort() 更加稳定 Function.prototype.toString() 重新修订 ECMAScript 2019(ES10) 新特性总结 ECMAScript...2016(ES7) 新特性总结 ECMAScript 2015(ES6) let和const 类(class) 模块化(ES Module) 箭头(Arrow)函数 函数参数默认值 模板字符串

2.3K10

【译】ES10功能完全指南 - 还学动吗?

正文从这里开始~ ES10仍然只是一个草案。但是除了 Object.fromEntries大多数功能已经 Chrome实现,所以你为什么不尽早开始探索它呢?...对于有兴趣探索ES10的人来说,这是一份非外星人指南。 ES10新语言功能方面没有ES6那么重要,但它确实添加了一些有趣东西(其中一些目前版本浏览器还不起作用:02/20/2019) ?...let string = 'Hello' let ret = string.match(/l/g) // ['l', 'l'] Great...低于 ES10环境我们得到了多个匹配结果,并且一直有效...但它们也是简单例子,大部分时间都可以毫无障碍地工作! U + 2028和U + 2029字符 这是捕获。 ES10之前 EcmaScript实际上并不完全支持 JSON格式。...return false; } 标准化 globalThis 对象 ES10之前全局 this没有标准化。

1.4K20

ECMAScript 2019(ES10)新特性简介

简介 ES10是ECMA协会在2019年6月发行一个版本,因为是ECMAScript第十个版本,所以也称为ES10. 今天我们讲解一下ES10新特性。...ES10引入了2大特性和4个小特性,我们接下来一一讲解。 Array新方法flat和flatMap ES10,给Array引入了两个新方法,分别是flat和flatMap。...ES10引入了稳定排序概念,也就是说如果排序key是相同,那么这些相同key顺序排序是不会发生变化。...这三种编码方式,只有UTF-8是兼容ASCII,这也是为什么国际上UTF-8编码方式比较通用原因(毕竟计算机技术都是西方人搞出来)。...FunctiontoString方法 ES10,如果Function可以通过以ECMAScript源代码方式表示的话,则toString会直接返回这个函数代码: > class C { foo

44230

ECMAScript 2019(ES10)新特性简介

简介 ES10是ECMA协会在2019年6月发行一个版本,因为是ECMAScript第十个版本,所以也称为ES10. 今天我们讲解一下ES10新特性。...ES10引入了2大特性和4个小特性,我们接下来一一讲解。 Array新方法flat和flatMap ES10,给Array引入了两个新方法,分别是flat和flatMap。...ES10引入了稳定排序概念,也就是说如果排序key是相同,那么这些相同key顺序排序是不会发生变化。...这三种编码方式,只有UTF-8是兼容ASCII,这也是为什么国际上UTF-8编码方式比较通用原因(毕竟计算机技术都是西方人搞出来)。...FunctiontoString方法 ES10,如果Function可以通过以ECMAScript源代码方式表示的话,则toString会直接返回这个函数代码: > class C { foo

63920

2022年,马上都ES2022了,还只知道ES6新特性?

今天就带大家理一下,这些年,从ES2015(ES6)到ES2021都增加了哪些特性 一、ES2015(ES6) 新增let const用于声明变量 const a = 1 ; let b = 2 新增变量解构...(太多,不详细列出来了就) 修改了函数入参默认值指定方式 增加了数组解构方法(...运算符) 增加了对象简洁写法 例如{test} 它等同于 {test:test} 增加了Set Map两个数据结构...,如果没有任何自身属性,则返回空对象 新增SharedArrayBuffer 对象:用来表示一个通用,固定长度原始二进制数据缓冲区 新增Atomics 对象:提供了一组静态方法用来对 SharedArrayBuffer...这块比较细节,mdn上查一下当前怎么用就行了) 五、ES2019(ES10) 修改了try catch 使用,catch不必再由入参 增加数组flat flatMap方法 增加字符串trimStart...ES2021是ECMAScript语言规范第12版,也被称为ES12。以后为了避免混淆,还是按照年份来称呼吧!省还做个转换。

82920

JavaScript 设计模式学习第四篇-ES6 可能遇到知识点

ES6(ECMAScript 6,ES2015)原来指的是 ECMA 组织 2015 年发布 ECMAScript 2015 标准,以后发布 ECMAScript 2016 对应 ES7,依此类推...今年发布 ECMAScript 2019 标准对应就是 ES10。相比于之后发布这些版本,ES6 改变幅度非常大,因此我们通常说 ES6 广义上也包括 ES5 之后所有更新。...作用域差别 刚学 JavaScript 时候,我们总是看到类似于「JavaScript 没有块级作用域,只有函数作用域」说法。...i = 0; i < 4; i++) { arr[i] = function () { console.log(i) } }; arr[2](); // 4 上面的代码输出为什么不是...箭头函数 this 箭头函数出来之前,函数执行时才能确定 this 指向,所以会经常出现闭包 this 指向不是期望值情况。

45810

浅习一波JavaScript高级程序设计(第4版)p6

这是我参与「掘金日新计划 · 6 月更文挑战」第11天,点击查看活动详情 ---- JavaScript 高级程序设计第 4 版(后简称高程4),相较于第 3 版,增加了 ES6 至 ES10 全新内容...咱就说,别光看着了,控制台上打印打印,不就知道了? 两者是相同! 作者提到: 但实际上开发者更倾向于使用对象字面量表示法。...let str = new String() let str = "" ---- 除了 Object,Array 应该就是 ECMAScript 中最常用类型了。...)是 ECMAScript 新增结构,目的是提升向原生库传输数据效率。...,为 JS 这门语言带来集合数据结构); 有没有想过,为什么已经有了 Object ,还要多加一种 Map 类型?

54820

Javascript抽象语法树上篇(基础篇)

一、基础 为什么要了解抽象语法树 日常工作,我们会碰到js代码解析场景,比如分析代码require了哪些包,有些什么关键API调用,大部分情况使用正则表达式来处理,可一旦场景复杂,或者依赖于代码上下文时...有一天,一位Mozilla工程师FireFox公开了这个将代码转成AST解析器Api,也就是Parser_API[1],后来被人整理到github项目estree[2],慢慢成了业界规范。...其中最下面的 es5.md为ES5规范,仅列出ES5内容, es2015.md为ES6规范,但只列出了针对ES5新增内容,依次类推,最后 es2019.md即ES10是对ES9补充,仅有一条规则...你可以从这个字段看出这个节点实现了哪个接口 loc字段表示源码位置信息,如果没有相关信息的话为 null,否则是一个对象,包含了开始和结束位置。...(let {name} = user,其中{name}部分为 ObjectPattern), ES5 ,可以理解为和 Identifier 差不多东西。

2.3K31

详解ECMAScript2019ES10新属性

每年都有一些新属性进入ECMA262标准,今年发布ECMAScript2019/ES10同样也有很多新特性,本文将会挑选一些普通开发者会用到新属性进行深入解读。...,其实不然,flatMap有个强大功能是可以map时候添加和删除元素,这个无论是map还是filter都没有这个功能。...稳定排序 Array.prototype.sort ECMAScript2019后Array.sort一定是个稳定排序。什么是稳定排序?...,可是非稳定排序不能保证他们两个顺序排序后保持不变 // ECMAScript2019后,Array.sort将是一个稳定排序,也就是说它可以保证Sean和Ken两个人顺序排序后不变 //...(保留空格字符)或者一个标准占位符例如native code,所以ECMAScript2019之后,以上输出会变为: console.log(hello.toString()) //"function

25810

学了这么久,你不会还不知道ECMAScript发展历程吧

以下是 ECMAScript 一些特点:脚本语言: ECMAScript 是一种解释性脚本语言,不需要编译成二进制代码就可以支持它环境运行。...面向对象: 支持基于对象编程范式。对象是 JavaScript 核心概念,几乎所有内容都是对象或者基于对象。...函数作为一等公民: 函数 JavaScript 是一等公民,可以像变量一样被传递、赋值,并作为参数或返回值。...跨平台性: 可以不同平台上运行,包括浏览器、服务器端(Node.js)等。事件驱动: 浏览器环境,JavaScript 常用于处理用户交互和事件响应,支持事件驱动编程模型。...、正则表达式上一些升级、异步遍历器...ES2019(ES10):String.prototype.trimStart/trimEnd、Object.fromEntries、Array.prototype.flat

11610

2021年,快速了解 ES2022 新特性(一)

ES全称是ECMAScript,由 ECMA国际[3] (前身为欧洲计算机制造商协会)标准 ECMA-262[4] 定义脚本语言规范,从2015年起,每年一个版本,到 ES2022 已经是第十三个版本了...ES2017 / ES8 ECMAScript 2018 2018 ES2018 / ES9 ECMAScript 2019 2019 ES2019 / ES10 ECMAScript 2020 2020...Exponentiation operator 幂运算 这个没有啥好讲,直接看下面的代码片段就明白了 let squared = 2 ** 2; // same as: 2 * 2 let cubed...方法返回一个给定对象自身所有可枚举属性值数组,值顺序与使用for...in循环顺序相同(区别在于 for-in 循环枚举原型链属性),看代码 let point = {x: 12, y:...for (var key in point) { console.log(key); } // x // y 复制代码 我们可以看到 move 这个方法 for..in 已经没有打印名称了

56020

快速了解 ES2022 新特性

ES全称是ECMAScript,由 ECMA国际[3] (前身为欧洲计算机制造商协会)标准 ECMA-262[4] 定义脚本语言规范,从2015年起,每年一个版本,到 ES2022 已经是第十三个版本了...ES2017 / ES8 ECMAScript 2018 2018 ES2018 / ES9 ECMAScript 2019 2019 ES2019 / ES10 ECMAScript 2020 2020...Exponentiation operator 幂运算 这个没有啥好讲,直接看下面的代码片段就明白了 let squared = 2 ** 2; // same as: 2 * 2 let cubed...方法返回一个给定对象自身所有可枚举属性值数组,值顺序与使用for...in循环顺序相同(区别在于 for-in 循环枚举原型链属性),看代码 let point = {x: 12, y:...for (var key in point) { console.log(key); } // x // y 复制代码 我们可以看到 move 这个方法 for..in 已经没有打印名称了

1.1K20
领券