ES6变量、解构赋值

一、变量、常量
var 声明变量

1、可以重复声明 2、无法限制修改 3、没有块级作用域

let 声明变量

1、不可以重复声明 2、有块级作用域 3、变量可以修改

const 声明常量

1、不可以重复声明 2、有块级作用域 3、常量不可以修改

二、解构赋值
//通过结构赋值,可快速取出后台返回的数据。
const data = {
    code: 200,
    students: [
	{ name: 'lili', age: 12 },
	{ name: 'dada', age: 44 }
    ]
}
let { code, students } = data;
console.log(code, students)
三、块级作用域

var 是函数级作用域
let const 是块级作用域。

概念

(1)花括号{}和其中代码生成一个块。比如if语句、for循环语句。 json对象不是块级作用域。

(2)在块中,let和const声明的变/常量对外都是不可见的,称之为块级作用域。

(3)var声明的变量对外依然可见。

四、箭头函数

普通函数:this乱换,谁调用this指向谁。
箭头函数就是修正了这一弊端。
箭头函数本身没有this,但是在声明它的时候,能够捕获此函数所在作用域中的this。

五、剩余运算符、展开运算符都是...
//剩余运算符
function func(a,b,...c) {
  console.log(a);//1
  console.log(b);//2
  console.log(c);//[3,4,5,6]
}
func(1,2,3,4,5,6);
//展开运算符--数组
let arr1 = [1, 2, 3]
let arr2 = [4, 5]
let arr = [...arr1, ...arr2]
console.log(arr)  /
let obj1 = { a: 1, b: 2 }
let obj2 = {
  ...obj1,
  name: 'lili'
}
console.log(obj2) //{a: 1, b: 2, name: "lili"}
六、数组方法
reduce 求和
//记算购物车价格、平均分等
let arr = [111, 222, 333, 444]
let sum = arr.reduce(function(total, e) {return total+e})
console.log(sum)
filter 过滤
//找出奇数/偶数
let arr = [111, 222, 333, 444]
let arrOdd = arr.filter(item => item % 2 == 0)
console.log(arrOdd)
map 一一映射
let arr1 = [96, 56, 77, 78]
let arrList = arr1.map(item => (item >= 60 ? '及格' : '不及格'))
console.log(arrList) //["及格", "不及格", "及格", "及格"]
forEach 循环
arr.forEach((item, index) => {
	//console.log('第' + index + '个是' + item)
	console.log(`第${index}个是${item}`)  //模板字符串写法,简单些
})
posted @ 2020-03-06 16:10  麦子同学  阅读(171)  评论(0编辑  收藏  举报