ES6规范及语法基础
var的特点
- 函数作用域
let的特点
- 没有变量提升,必须先声明。再调用
- 同一个作用域下不可以重复定义同一个名称
- 块级作用域
function fun(){ let a = 10 if(true){ let a =100 } console.log(a) }
输出a为10,因为let为块级作用域。
暂时性死区 let a = b, b = 1
const的特点 (数组和对象指向的是内存,对应的值可修改)
- 没有变量提升,必须先声明。再调用
- 同一个作用域下不可以重复定义同一个名称
- 块级作用域
- 声明之后就得初始化,不能只声明不赋值
- 声明的为只读常量,不能改变
箭头函数
简化了函数的定义
var f = v =>v; //箭头函数后的值为return值
等同于 var f = function(){ return v }
Set 去重
const a = new Set();
添加
a.add(1)
链式添加:a.add(1).add(2)......
类型转换
将set转为数组
- var a = Array.from(a)
- [...new Set([1,2,3,42,2,1,2])] //...为扩展运算符。var a = [1,2,3] ; var b = ...a 值为 1,2,3 去掉了括号
map
const m = new Map();
添加数据
m.set('id',1).set('name','test') 添加时为键值对添加 键可以为任何类型
循环 for of
for( let [k,v] of m){
.......
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律