ES6----let,const,箭头函数

1、var,let和const

es6是一种规范,js来实现
var 和let的区别
1、不存在变量提升
var存在变量提升

console.log( c )
var c='c'

js会进行预解析,浏览器执行顺序如下

var c;
console.log( c )  //undefined
var c='c'

let不存在变量提升

console.log( c ) //报错误信息
let  c='c'

2、同一个作用域下不能重复定义同一个名称

var  a=1
var a =99
console.log( a ) //99 

let  a=1
let  a =99
console.log( a ) //error 

let  a=1
      a =100
console.log( a ) //100 重新赋值

3、有着严格的作用域
var 是函数作用域在function内都可以获取到值,

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

let是块级作用域,每个大括号是一个作用域

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

const
声明一个只读的常量,一旦声明,常量的值不能改变(字符串,数字,布尔,null,undefined)

 const  b=99
 b=100
 console.log(b) //error
const  d  //error,const必须进行初始化 
引用类型:数组和对象可以进行修改
const  obj={ }
obj.name='baby'
console.log(obj) // {name:'baby'}

2、箭头函数(简化函数的定义)
变量名=形参=>返回值

let  f = v => v;
等于如下
var f =function ( v) {
   return v 
}
let f =()=>123   //没有形参,返回值固定
let f  =function (){
   return 123
}

3、 set 和map
set :类似于数组,成员是唯一的
map:类似于对象

const  s =new Set( )
s.add( 1 ).add(2).add(3).add(2) 链式写法  //{1,2,3}
var arr1=[1,2,3,4,5,1,22,3,4]
var arr2=new Set(arr1)
console.log( arr1 )//{1,2,3,4,5,22}
var arr3=[...new Set(arr1)]//使用扩展运算符
console.log( arr3)//[1,2,3,4,5,22]

const m = new Map()
map以键值对的形式添加数据
m.set(“name”,“amy”).set(“age”,18)
for of
for ( let [key,value] of m ){

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值