JS(ESMA6)语法索引 [整理]
2019-03-06 本文已影响4人
squidbrother
-----[ 构建函数 静态方法 ]
1. Object.is() //判断两个值是否全等(数值,数据类型)
Object.is(NaN,NaN); //true
Object.is(1,'1'); //false
2. Object.keys(); //返回数组形式,对象key值
var obj = {a:1,b:2}
Object.keys(obj); //["a", "b"]
3. Object.values(); //返回数组形式,对象的value值
var obj = {a:1,b:2}
Object.keys(obj); //[1, 2]
4. Object.assign(目标,obj1,obj2,{c:3}); //合并对象,后面的覆盖前面的
var res = {};var ob1 = {a:1};var ob2 = {a:9,b:2}; Object.assign(res,ob1,ob2,{c:3}); console.log(res)
//{a: 9, b: 2, c: 3}
5. Map //同样有跟多方法,set get delete has clear
var person = new Map([['name','hi']]);
person.set('name','lion');
console.log(person) //{"name" => "lion"}
6. Array.of(10,20,30) //创建数组
7. Array.isArray(xx) //判断某项是否为数组
8. Array.from(xx) //将XX转化为数组
9. Array.find(function(item){ return item>50 }) //找到首次成功的值
10. Array.findIndex(function(item){ return item>50 }) //找到首次成功值的索引
11. Array.filter(function(item){ return item>50 }) //找到数组中大于50的值,返回值是数组
实例方法
1. set 方法,拥有多个类方法 add、delete、clear等
new Set([1,2,3,4,2,3,1,5,7]) //1,2,3,4,5,7
2. Promise 实例方法
var p = new Promise((res,rej)=>{
res('hello');
});
p.
then((data)=>{
console.log(data);
return 'hi';
})
.then((data)=>{
console.log(data);
})
.then(()=>{
console.log(123);a
})
.catch((err)=>{
console.log(err);
})
.finally(()=>{
console.log('执行完毕')
})
//Promise实例的简写方式
return new Promise((res,rej)=>{})
return Promise.resolve('成功参数');
return Promise.reject('失败参数');
//Promise.all(p1,p2,p3) 3个promise实例对象返回值
//Promise.race(p1,p2,p3) 3个promise实例返回最快获得一个数值
//--- 模块化 (必须要在服务器环境下运行) 方便JS维护,注释一个JS标签,所有关联JS引入都取消加载了
<script type='module' src='a.js'></script>
import {n,m} from 'b.js' //a.js
console.log(n,m)
var n = 1,m = 2; //b.js
export {n,m}