es6第一天

一.let和var 的区别

1.新增了一个块级作用域 {}

                if(true){
		            var n=2
		        }
		        console.log(n)//输出2



		        if(true){
		            let n=2
		        }
		        console.log(n)//Uncaught ReferenceError: n is not defined

var定义不会报错,是因为定义在window中,let是单独创造一个块级作用域,在{}中定义外部无法使用。

2.var 定义变量 存在变量的默认提升功能 ,let 和const没有

3.var 定义可以重复定义 ,let和const不可以

4.var 定义变量 自动挂载 window对象上 。let和const不会

5.let定义会有暂时性死区问题

                var a=20
		        if(true){
		            a=40
		            console.log(a)
		            let a=50
		        }

这个运行后会报错,因为只要块级作用域内存在 let 命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。上面的代码中,块级作用域内 let 又声明了一个局a ,导致后者绑定这个块级作用域,所以在 let 声明变量前,对 a赋值会报错。

二.字符串的拼接

一般我js通常使用的是 "+" 符号进行拼接,就是比较麻烦,当然也可以使用反引号   ` ` 进行拼接,使用中更加的方便

        let str="hello world"
        // "213"+str+ "123"
        console.log("我们的口号是"+str)
        //利用字符串模板来拼接字符串  ``
        console.log(`我们的口号是${str}`)

三.数据结构

						let user={
				            name:"wangyi",
				            pass:"123",
				            uimg:"asdasdsa.jpg"
				        }
				        name =user.name
				        //解构的写法
				       // 左侧 key必须和右侧相同
				        let {name,pass}=user
				        console.log(name)
				        console.log(pass)
				        user.name
				        user.pass

es6的解构个人感觉方便了一点吧,看个人的习惯

四.箭头函数

 1. 传统的函数中, this的指向性不明确,对着环境的变化随之发生变化,箭头函数,this指向性明确 永远指向生产环境
 2. function函数 存在提升功能, 箭头函数没有
 3. function函数可以作为构造函数,但是箭头函数不可以

4. function函数中 存在 arguments参数集合,箭头函数没有

五.扩展运算符

                          // rest参数 ...函数的参数中,参数整合数组 1,2,3 [1,2,3]
				          // 拓展运算符 展开复杂结构
				          let arr=[1,2,3]
				          console.log(arr[0],arr[1],arr[2])
				          console.log(...arr) //1,2,3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值