//对象的简洁语法 vue里面经常这样使用
let name = "张三";
let age = 22;
let json = {
name, //就是相当于 name:name
age, // age: age
showA() { //这边就是相当于 showA: function(){}
return this.name
}
}
console.log(json.showA())
//小变形
function show({ name,age }){
console.log(name,age )
}
show({ name,age })
//对象 Object.is() 比较两个值是否相等
console.log(Object.is(NaN,NaN))
console.log(Object.is(+0,-0))
//Object.assign(目标对象,source1,source2) 用来合并参数 复制数组,对象都是可以的
let jsons = {a:1}
let json2 = {b:2,a:66}
let json3 = {c:3}
//如果有相等的话 后面的就会覆盖前面的 就放到一个新的对象里面
let newjson = Object.assign({},json2,json3,jsons)
console.log(newjson)
//用assign来复制对象
console.log("----------------------------------------------------")
//Object.keys() Object.entries() Object.values() 循环json的时候进行的遍历出相应的key value
let datas = {
aa:111,
bb:222,
cc:333
}
//输出key值 ES6新增 for....of.... 遍历数组
for(let key of Object.keys(datas)) {
console.log(key)
}
//输出value值
for(let value of Object.values(datas)) {
console.log(value)
}
//输出数组
for(let item of Object.entries(datas)) {
console.log(item)
}
//输出键值对
for(let [key,value] of Object.entries(datas)) {
console.log(key,value)
}
//也可以这样使用
//let {keys,values,entries} = Object;
//对象的扩展运算符
let {x,y,...m} = {x:1,y:2,c:3,d:4}
console.log(x,y,m)
//小练习案例
let json4 ={
username: "张三",
password: "123",
sex: "男",
age: 18
}
let copyjosn4 = {...json4}
delete copyjosn4.age //删除 对象身上的属性
console.log(copyjosn4)
console.log(json4)
//resolve成功的回调函数
//reject失败的回调函数
let a = 6466;
let promise = new Promise((resolve,reject)=> { //回调函数
if(a == 666) {
resolve("成功")
}else {
reject("失败")
}
})
// Promise.then(success,fail)
promise.then(function(res){
console.log(res)
},function(err){
console.log(err)
}).catch(err=>{ //这个其实就是第二个参数的reject一个别名而已
console.log(err)
})
//在Promise类身上有
// Promise.resolve("aa"); //将现有的东西 转换成一个promise对象 并且是resolve状态,成功的状态
// Promise.reject("bb");
//用法如下 就是可以快速生成一个Promise对象
let pro = Promise.resolve("这是成功的回调函数哦!!")
//上面这个类的resolve函数 等价于 new Promise(resolve=> {resolve("aaa")})
pro.then(res=> {
console.log(res)
})
let profile = Promise.reject("失败的回调函数!!!")
//上面这个类的resolve函数 等价于 new Promise((resolve,reject)=> {resolve("aaa")})
profile.then(res=> {//成功的回调
},err=>{ //失败的回调
console.log(err)
})
//Promise.all([])把数组打包就行了 必须全部是 resolve才执行
let p1 = Promise.resolve("apple")
let p2 = Promise.resolve("banana")
let p3 = Promise.resolve("orange")
Promise.all([p1,p2,p3]).then(res=> {
console.log(res)
//这边还可以使用结构
let [a1,b1,c1] = res
console.log(a1,b1,c1)
})
//Promise.race([p1,p2,p3]) //只要有一个resolve就会进行返回
ES6学习 对象简洁语法以及对象新增 以及Promise
猜你喜欢
转载自blog.csdn.net/HANGSOME123/article/details/86530850
今日推荐
周排行