ES6 部分新特性

解决了var的一些遗留问题

  1. var 可以重复声明变量
  2. var 不可以限制修改
  3. var 不支持块级作用域,只支持函数作用域

解决方案: 引入let和const

const 对象 可以避免对象被重新赋值,可以修改的属性
什么时候使用const?

  1. 定义常量
  2. 定义对象 防止对象被篡改
  3. 定义函数表达式

函数简化书写 -箭头函数

function [函数名](参数){
	[方法;]
	renturn 表达式/数据;
}

改善方案:箭头函数 用 => 代替 function ,仅包含return的函数可以进一步简化

(参数) => 表达式/数据; //仅有一个参数时括号可以省略
//如果仅包含一条语句且不含return 同样可以省去{}

在实际操作中有时候为了防止,简化时,将有用的{}吞掉,可在外层用()包裹

箭头函数的现实意义

当定义定义对象方法时,出现函数套函数的情况,此时内层的this不再指向对象
ES5的解决方法时,将外层this另存,在内层调用另存的this,而不是直接使用this

let self = this;

而箭头函数没有this,this由父级继承而来,有效的解决了这个问题,使编码逻辑变得简单

Number和Math增加新的属性和方法

Array数组增加了新的方法

Array

过滤器 - filter
映射 - map
汇总 - reduce
some() 或门
every() 与门

.of() .from()

提供了新的数据结构 MAP字典、SET集合

MAP字典

比对象更灵活的映射(键可以是更多的类型),键是有序的
size 属性 记录键的数量
.get()
.set(键,值)

若键为 NaN 则其他表达式值为NaN 也能正常访问

SET集合

存储不重复(不恒等),的集合

  • +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
  • undefined 与 undefined 是恒等的,所以不重复;
  • NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。

.add(x) 方法:向集合添加元素x
.has(x) 方法:判断当前 set 中是否含有 x

编码的简化 -解构赋值

对赋值运算符的扩展
类似python的赋值方式
剩余运算符 在要赋值的对象前加三点 表示讲剩余部分赋值给它
可以对解构 赋值默认值

数组的结构赋值可以 比较简单地实现元素值的交换

[a,b] = [b,a]
// 可以做冒泡
// 保留初始值,解构

对象的解构赋值可以获得对象的一个裁剪版

{name,sex} = {
	name: “海胆",
	sex: "",
	hobby: ""
}

可以从一个较大的对象中,仅仅提取自己需要的属性,而不需要使用obj.属性的方式访问

模板字符串

`xxx${a}xx`

模板字符串可以方便的通过js向HTML插入标签树 (普通字符串写一行比较方便)
可以对模板字符串进行插值 ,相较于+更方便

引入类class 解决原先只有对象的窘境

extends关键字 继承
super() 超类 引用父类构造函数

对象

  1. 对象的属性可以直接写变量,属性名是变量名,属性值是变量值
let x=123;
// {x} ---> {x: 123}
// 同理 命名方法 方法名为属性名 方法体为属性值
  1. 方括号 属性名表达式
  2. 扩展运算符(…) 取出参数对象所有可遍历属性
  • 可用于展开数组
  1. Object.assign(target, source_1, ···) 将源对象的所有可枚举属性复制到目标对象中
  2. Object.is(value1, value2) 用来比较两个值是否严格相等
    ===却别
  • +0不等于-0
  • NaN等于本身

JSON

json中简写

如果key和value名相同则可以简写为一个名
如果方法名默认或与key相同也可以做简化

json的新引用

串行化 JSON.stringify(obj)
字符串转json JSON.parse(str)

引入Module模块化

新增Promise方法

–简化异步回调结构,避免层层嵌套回调地狱

posted @   海胆Sur  阅读(4)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示