ES6

1.ES6介绍
q.什么是ES6
ES6是ECMA Script 6.0的简称, 就是语言最新的标准, 发布与15年左右
目标让js语言成为能支持去编写大型复杂的应用语言, 成为企业级开发语言
javascript和ECMA Script区别?
javascript, Java特别火,导致名字一直是javascript
ECMA组织制定js标准,不想用java, 叫ECMA Script 6.0
2.变量

变量有什么新特性?
	可以使用let去定义变量
	可以使用const去定义常量
	解构赋值
	
let作用?

	var定义变量在函数外是全局作用域 [OK]
	
	var定义变量在函数里面,是函数内作用,
		从定时开始到函数结束都能用
		有效区域: 定义开始,到函数结束

	let能定义块级作用于的变量
		有效区域: 定义开始,到定义块结束
	
const如何使用?
	const PI = 3.14;
	
	特性: 改了之后会报错
	
解构赋值如何使用?
	赋值的一种形式
	以前赋值   a=10
	解构赋值,最简单理解等号左边多个值,等号右边也可以有多个值
	注意: 对应的结构

3.类和对象的改进

对类和对象有什么改进
	提供了关键字 class 定义类
	提供了关键字 extends 继承一个类
		super()执行父类的初始化函数
	提供了对象字面量, 定义一个函数
	
	
q.class的用法

	格式:
	
	class 类名{
		
		//自动调用初始化函数
		constructor(name){
			
			//添加的属性
			this.name = name
		}
		
		say(){
			
		}
		
	}
	
q.extends继承的用法

	格式:
	class 子类类名 extends 父类{
		
		constructor(name,score){
			
			super(name)
			this.score = score
		}
		
		show(){
			
		}
	}

4.函数相关

es6在函数这块有哪些改进或者新特性?
	默认参数
	箭头函数
	rest函数(可变参数的函数)
	
默认参数是什么怎么用
	function hello(x=10,y=20)
	
箭头函数
	格式
		(参数1,参数2,....) => {
			
		}
		
	注意1: 如果参数只有一个,可以省略()
		如果没有参数, 必须加上 ()
		
	注意2: {}中只有一个renturn语句,省略{}和return
	
	注意3: 箭头函数好处1: 简化回调函数
			好处2中this指向定义的时作用域
			
rest参数
	作用: 定义变参的函数
	
	语法: function fun(a,b, ...list)

5.数组相关

数组新的特性有哪些?
	扩展运算符 ...
	for-of遍历	直接获取数组的值
	Array.from()  对象转数组(有要求)
	Array.of
	Array.prototype.copyWithIn()
	Array.prototype.find()

 ...用法

 for-of
	格式:  for(var v of arr){}
	
Array.from()如何使用?
	对象转数组
	有要求,
		1.对象有length
		2.有对应的序号
		
Array.of多个值转一个数组
	例子: var arr = Array.of(1,2,3,4,5)
	

Array.prototype.copyWithIn()
	数组内数据复制
	
	
Array.prototype.find() 是查找数据
	//根据你传入匿名函数中条件, 返回第一个查找的值

6.字符串相关

新特性有哪些?
	编码
	
	for-of
	
	字符串查找(常用)
		includes 是否包含
		startWith 前缀
		endWith 后缀
		
	重复 repeat()
	
	补位
		padStart()
		padEnd()
		
	模板字符串
	
 编码
	var c = "吉"
	var c = "\uXXXX\uXXXX"
	var c = "\u{xxx}"
	
for-of
	for(var c of str){}
	
字符串查找(常用)
	includes 是否包含
	startWith 前缀
	endWith 后缀

重复 repeat()


补位
	padStart()
	padEnd()

7.新的数据类型

es提供新的数据类型有哪些?
	Map映射, 存储多个键值对数据, 类似对象
	Set集合, 存储多个不重复的数据
	
Map的用法
	创建Map:   new Map()
	存储值		map.set(key,value)
	获取值		map.get(key)
	遍历			for(var [k,v] of map)
	删除值		map.delete(k)
	 清空		map.clear()
	
Set用法
	创建Set:		new Set()
	添加值:		set.add()
	删除值:		set.delete()
	清空:		set.clear()
	遍历:		for(var v in set.keys())

你可能感兴趣的:(ES6)