ES6新特性

模块化

可以从相应的文件中导入或导出相应的方法。

//导出 main.js 
 export let name ="lisi";
export function foo(arg){
    return arg;
}

// 导入
import {name,foo} from 'main';

解构

从数组中取值

const arr =[1,2,3,4];
let [a,,b] = arr;//逗号分隔为一项
console.log(a,b);//取出 1,3

从对象中取值

const arr= {a:1,b:2,c:3};
let {a,b,c} = arr; //将对象的key和变量名称一一对应就可以了
console.log(a,b)

//冒号的方式修改变量名称

let {a:k,b:l,c}=arr

排除一些对象属性

const params ={
    name:"lisi",
    age:18,
    type:1
}
let {type,...other} = params
console.log(other);//就是排除type 后的属性 { age: 18, name: "lisi" }

支持直接在参数上赋值

function foo(age=18,type=1){
}

对象属性的简写

const name ="lisi",age=18,type=1;
const userInfo ={
 name: name,
 age:age,
 type:type
}
//变为
const userInfo ={
    name,
    age,
    type

}

支持async、await

支持includes

指数操作符

2**10 // 1024

Object.keys

const obj ={a:1,b:2,c:3};
const keys =Object.kesy(obj);// [a,b,c]

Object.values

const obj ={a:1,b:2,c:3};
const keys =Object.values(obj);// [1,2,3]

Object.entries

const obj ={a:1,b:2,c:3};
Object.entries(obj);// [[a,1],[b,2],[c,3]]

for(let [key,value] of Object.entries(obj)){
    console.log(`key: ${key} value: ${value}`)
}

// "key: a value: 1"
// "key: b value: 2"
// "key: c value: 3"

null 传导运算符 ?.

左侧的值不为null 和undefined的时候,就会取得右侧的值

const info = message ?.body?.data?.info 

null 判断运算符 ??

左侧的值不为null 和undefined的时候,就会取得左侧的值,否则会返回右侧的值

const status = response.data ?? '400';

模板字符串

const name ="李四";
const age =18;
const result =`${name}${age>=18? '成年了':'未成年'}`
console.log(result);//李四成年了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值