ES6 常用的新特性总结,应用和例子

数值

1、Number.isFinite()

判断参数是否为有限的数值

2、Number.isNaN()

判断括号里面的参数是否是NaN

3、取小数 Number.parseFloat()

Number.parseFloat('3.1415926hello')   //3.1415926

4、取整数 Number.parseInt()

Number.parseInt('3.1415926hello')  //3

5、去小数取整数 Math.trunc()

Math.trunc('3.1415926')  //3

6、 Number.isInteger()

Number.isInteger()一般情况可用来判断一个数值是否为整数。

函数

1、箭头函数

1、如果只有一个参数数,()可省
2、 如果箭头函数只有一行语句,且不需要返回值,{}可省

var sum=sum=>sum+1;
sum(2)  //3
//{}可省
let sum = (a, b) =>(a+b)*b
sum(3, 8)  //88
//都不可省
let sum = (a, b) =>{
	a=a+b;
	return a*b
}
sum(3, 8)  //88

数组

1、运算符扩展

function add(x, y) {
	return x + y;
}
const numbers = [1, 3];
add(...numbers) // 4

2、合并数组

const arr1 = ['a'];
const arr2 = [ 'b','c'];
const arr3 = ['d', 'e','f'];
const  arr=[...arr1, ...arr2, ...arr3]; // [ 'a', 'b', 'c', 'd', 'e','f' ]

3、解构赋值

const [first, ...rest] = [1, 2, 3, 4, 5];

//console.log(first)  //1
//console.log(rest)	//2,3,4,5

4、字符串转数组
方法一、

var str='hello'
const arr= [...str]		//["h", "e", "l", "l", "o"]

方法二、

Array.from('hello')   // ['h', 'e', 'l', 'l', 'o']

5、数值转数组 Array.of()

Array.of(1, 2, 3)  // [1, 2, 3]

6、Map结构

let map = new Map([
		  [1, 'one'],
		  [2, 'two'],
		  [3, 'three'],
		]);
let	arr = [...map.keys()];	// [1, 2, 3] 
let arr1 = [...map.values()];  //["one", "two", "three"]

map映射(一个对一个)

var arr=[1,2,3]
let sum=arr.map(item=>item*2)
console.log(sum)  //[2, 4, 6]

7、forEach循环遍历

let arr=[1,2]
arr.forEach((item,index)=>console.log(index+':'+item*item))
//0:1
//1:4

8、reduce 求和

let arr=[1,2,3,4];
let	result=arr.reduce((tmp,item,index)=>tmp+item)
//console.log(result)  //10

reduce 求平均数

let arr=[1,2,3,4];
let	result=arr.reduce(function(tmp,item,index){
	if(index!=arr.length-1){
		return	tmp+item
	}else{
		return (tmp+item)%arr.length;
	}
})
//console.log(result)  //2

9、filter 过滤器

let arr=[11,12,13,14,15];
let result=arr.filter(item=>{
	if(item%3==0){
		return true
	}else{
		return false
	}
})
//console.log(result)  //[12, 15]

10、sort 排序

倒序(大=>小)

let arr=[1,2,3,4,5];
let result=arr.sort((x,y)=>{
	return y-x
})
//console.log(result) //[5, 4, 3, 2, 1]

正序(小=>大)

let arr=[1,2,3,4,5];
let result=arr.sort((x,y)=>{
	return x-y
})
//console.log(result) //[1, 2, 3, 4, 5]

对象扩展与新增方法

1、属性简写

const tmp='hello';
const shell={tmp}
//console.log(shell)   //{tmp: "hello"}
//属性简写 用于函数返回	
function fn(){
	const x=1;
	const y=2;
	return {x,y}
}
//console.log(fn()) //{x: 1, y: 2}

2、对象属性遍历
for…in

let obj={'0':'a','1':'b','2':'c'}
let arr=[];
	for (let i in obj) {
		arr.push(obj[i])
	}
// console.log(arr)	// ["a", "b", "c"]

Object.keys(obj)

let obj={'0':'a','1':'b','2':'c'}
let  arr=Object.keys(obj)
// console.log(arr)  // ["0", "1", "2"]

3、新增 Object.is(obj1,obj2)

功能与“===”类似(不同之处:一是+0不等于-0,二是NaN等于自身)

 Object.is('hello','hello')  //true

4、合并对象Object.assign(obj1,obj2)

const obj1={a:1};
const obj2={b:2};
const obj=Object.assign(obj1,obj2)

console.log(obj)   //{a:1, b:2}

同名属性,后面的覆盖前面的

const obj1={a:1};
const obj2={b:2};
const obj3={b:6};
const obj=Object.assign(obj1,obj2 ,obj3)

console.log(obj)  //{a: 1, b: 6}

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值