美文网首页
es6新特性

es6新特性

作者: 歪歪1993 | 来源:发表于2020-04-17 16:08 被阅读0次

es6新特性

一。let
1.不会发生变量提升
2.同一作用域下不能重复定义同一个名称
3.有着严格的作用域
var属于函数作用域
let块级作用域

console.log(a); // 输出undefined
console.log(b); // 报错ReferenceError
var a = 2;
let b = 2;
//a用var声明,发生了变量提升,开始运行脚本时,a已经存在,没有值
b用let声明,没有发生变量提升,开始运行脚本时,b不存在,没有值


var n=1
var n=100
console.log(n)//100

let n=1
let n=100
console.log(n)//Error

let n=1
n=100
console.log(n)//100


function fun(){
let n=10;
if(true){
let n=100;
};
console.log(n)
};
fun()//10

二。const
1.声明一个只读的常量,一旦声明,不可以改
2.一定要初始化,不能只声明不赋值

三.箭头函数 简化了函数的定义
let f = v =>v; //变量名 = 参数 =>返回值(函数体)
let f2=()=>123
let f3=(n1,n2)=>n1+n2;

四.数据结构 set map
set 类似于数组 成员是唯一的
map 类似于对象

const s=new Set()
s.add(1).add(2).add(3).add(2)//Set(3) {1, 2, 3}

var arr2=[7,8,9,4,5,6,1,2,5,6,8,3]
const arr3=new Set(arr2)//Set(9) {7, 8, 9, 4, 5, …}
const arr4=[...new Set(arr2)]//(9) [7, 8, 9, 4, 5, 6, 1, 2, 3]
...扩展运算符

const m=new Map();
m.set("key","value").set("age","18")//Map(2) {"key" => "value", "age" => "18"}
for(let[key,value] of m){console.log(key,value)}

相关文章

网友评论

      本文标题:es6新特性

      本文链接:https://www.haomeiwen.com/subject/rfsyvhtx.html