ES6 新增语法
为什么是 ES6
每一次标准的诞生都意味着语言的完善,功能的加强, JavaScript 语言本身也有一些令人不满意的地方
- 变量提升特性增加了程序运行时的不可预测性
- 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码
ES6 新增语法
let
ES6 中新增的用于声明变量的关键字
- let 声明的变量只在所处的块级有效
- 防止循环变量变成全局变量
- 不存在变量提升
- 暂时性死区 和 let 所在的块级区域进行绑定
注意:使用 let 关键字声明的变量才具有块级作用域,使用 var 声明的变量不具备块级作用域特性
const
作用:声明常量,常量就是值(内存地址)不能变化的值
- 具有块级作用域
- 声明常量时必须赋值
- 常量赋值时,值不能修改(不能更改内存地址)
let const var 区别
- var 作用域为该语句所在打的函数内,且存在变量提升现象
- let 作用域为该语句所在的代码块内,不存在变量提升
- const 后面出现的代码中不能修改该常量的值
解构赋值
- S6 中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构
- 按照一定模式,从数组或对象中提取值,将提取出来的值赋给另外的变量
数组解构
- 数组结构允许我们按照一一对应的关系从数组中提取值然后将值赋给变量
一一对应,没有值的话为 undefind
对象解构
箭头函数
() => {}
用来简化函数定义语法的
- 函数中只有一句代码,且代码的执行结果就是返回值,可以省略大括号
- 函数中如果形参只有一个 形参外侧的小括号也是可以省略的
function fn(v) {
return v;
}
const fn = v => v;
this 指向问题
箭头函数不绑定 this 关键字,箭头函数中的 this,指向的是函数定义位置的上下文 this
剩余参数
剩余参数语法允许我们将一个不定数量的参数表示为一个数组
const sum = (...args) => {
let total = 0;
args.forEach(item => total += item)
return total;
}
console.log(sum(10,20)); //30
console.log(sum(10,20,30)); //60
剩余参数和解构配合使用
let ary = ['zhangsan','lisi','wangwu'];
let [s1,...s2] = ary;
console.log(s1); //'zhangsan'
console,log(s2);//'zhangsan', 'lisi'
本文来自博客园,作者:懒惰ing,转载请注明原文链接:https://www.cnblogs.com/landuo629/p/12554586.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?