阶段7-ES6

阮一峰 es6速查api es6.ruanyifeng.com/#docs/numbe…

一、let :声明变量

1. let声明的变量只在代码块内有效。
2. 不可以重复声明同一个变量
3. 不存在变量提升
复制代码

二、const : 常量 (写的时候大写)

1. const声明的变量只在代码块内有效。
2. 不可以重复声明同一个变量
3. 不存在变量提升
复制代码

【面试题】let 和 var 区别

1. var声明变量可能不具有作用域,let声明变量有作用域
2. var可以声明同一个变量(覆盖),let不可以
3. var有变量提升,let没用
    
复制代码

一、数组的解构赋值

let [a,b,c=400] = [10,20,30]

如果没有配置则是undefined, 右侧的优先级比默认值大
复制代码

二、对象的解构赋值

let {a,b} = {a:123,b:456};
复制代码

一、字符串的解构赋值

let [a,b,c] = 'hello';
复制代码

二、函数参数

function fun([a,b]){

	return a+b;

}
console.log(  fun([10,20])  );
复制代码

一、模版字符串

` ${ 变量 }`
复制代码

二、字符串 新增方法

includes() ===> 和indexOf区别不大

	includes() 返回值是布尔类型 true | false

	indexOf()  -1  ||  下标

startsWith()

	返回布尔值

	表示参数字符串是否在原字符串的头部。

endsWith()

	返回布尔值

	表示参数字符串是否在原字符串的尾部。
复制代码

一、repeat

重复几次:  str1.repeat(3)
复制代码

二、padStart(),padEnd()

补全:  str.padStart(2,'0') ==> 返回的字符串一共2位,不够补0

使用场景可以给new Date  时分秒... 01 02 ...09
复制代码

三、trimStart(),trimEnd()

trim() 		==》 去除前后空格
trimStart() ==》 去除前空格
trimEnd()   ==》 去除后空格
复制代码

一、箭头函数

1.1 let fun = (形参1,形参2...)=>{

	函数体

}

fun(实参1,实参2,实参3...);



1.2 如果是一个参数:

	let fun = v=>{

		函数体

	}

	fun(实参);

1.3 如果不加{},默认有return

	let fun = v=>v

	fun(实参);

	例如:arr.filter( item=> item > 2 )
复制代码

二、箭头函数和普通函数的区别 (重点) 【面试题】

1. 箭头函数是不能new的
2. 箭头函数内部没有arguments对象
3. 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象

	***一般来说箭头函数的this都基本指向于window对象
复制代码

一、函数参数的默认值

let fun1 = ( 参数={} )=>{}

let fun2 = function( 参数={} ){}
复制代码

二、…操作符

如果不是一个组合,可以合并

如果是一个组合,可以拆分


合并数组:
		let arr1 = ['a','b','c'];
		let arr2 = [1,2,3,];
		console.log( arr1.concat( arr2 ) );
		console.log( [...arr1 , ...arr2]  );
复制代码

一、Array.from()

Array.from方法用于将两类对象转为真正的数组
复制代码

二、Array.of()

方法用于将一组值,转换为数组。
复制代码

三、find() 和 findIndex()

find()  查找(找到第一个)=》找到返回该成员,没有找到返回undefined

findIndex() 查找(找到第一个)=》找到返回下标,没有找到返回-1
复制代码

四、includes() ==> 类似于indexOf

找到返回true,没有找到返回false
复制代码

五、flat()

扁平化数组

参数为:表示想要拉平的层数,默认为1
复制代码

一、简单写法===>函数|方法

let obj = {
	run(){

	}
}	
复制代码

二、简单写法===>函数|方法

let str = 'foo';

let obj3 = {
	str  //==> str:str
}
复制代码

三、for…of语法可以遍历对象|数组

for(let k of Object.keys(obj1) ){
	console.log( k );
}

for(let v of Object.values(obj1) ){
	console.log( v );
}

for(let [key,val] of Object.entries(obj1) ){
	console.log( key,val );
}
复制代码

对象新增方法

一、Object.is() 判断是否相等

主要是解决ES5之前的: ==、===的问题
复制代码

二、Object.assign() [重要]==> 面试题

方法用于对象的合并

***Object.assign()方法实行的是浅拷贝,而不是深拷贝
    
    
复制代码

一、面向对象:三大特性

1、封装

	隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

2、继承

	提高代码复用性;继承是多态的前提。

3、多态

	父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序扩展性
复制代码

二、class基本格式

class 类名称{
	constructor(){
		this.属性名 = 值
	}
	方法1(){

	}
	方法2(){
		
	}
}
复制代码

三、类继承

class 子类 extends 父类{

	constructor(){
		super();
		this.属性名 = 值
	}
	方法1(){

	}
	方法2(){
		
	}
}
复制代码

一、Symbol是一个独一无二的

二、Symbol是新的原始数据类型Symbol

三、Symbol的取值

四、new Set()

没有重复的值===》去重
复制代码

有几种方式去重:

1、ES6的new Set()
2、filter
3、判断逻辑的形式(N种)
复制代码

一、引入:import

***默认会找.js 、.json

1.1 引入文件全部内容

	import './script'

1.2 按需引入

	import {a,b,c,fun} from './a'

1.3 自定义名称引入

	import xxx from './a'
复制代码

二、抛出:export

2.1 export let a = 10;

2.2 let fun = ()={}
	export {fun}

2.3 let a = 10;
	let b = 20;
	export {a,b}

2.4 let a = 10;
	let b = 20;

	export default {
		a,b
	}
复制代码

Promise 是异步编程的一种解决方案

功能:写异步的代码,让你"同步的执行"出来

好处:让代码更好的维护或者易读
复制代码

同步:只有前一个任务执行完毕,才能继续执行下一个任务。

异步:不进入主线程,进入任务队列,只有任务队列通知主线程,某个异步任务可以执行,该任务才会进入主线程。

===========
面试题 : Promise有哪几种状态

Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。
复制代码

async 函数

一般是async和await配合起来用

***注意:如果单独使用await会报错,await需要在async中有

一、fetch

window对象下就有fetch  ===> 返回的是promise对象

fetch(url,{
	method:'get|post',
	params:{} ==> 给后端传递的参数
}).then(data=>{

	后端给前端返回的数据
	data.json()  : 把数据转换成对象的形式|格式

})
复制代码

二、fetch-mock

如果目前没有接口,前端自己模拟数据


2.1 下载fetch-mock

	npm install fetch-mock -S


2.2 引入模块

	import fetchMock from 'fetch-mock';

2.3 基本格式

	fetchMock.mock(url,函数)
复制代码

一、领导

1.1 创建仓库
1.2 创建分支
1.3 初始化项目 ===> 搭建目录结构
复制代码

二、开发者

2.1 克隆代码到本地

	下载仓库中指定分支的代码

	git clone -b <分支名称> <分支地址>

2.2 配置本地的user.name && user.email
2.3 本地切换到远程分支

	git checkout -b <分支名称>
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享