ECMAScript-新特性-动态导入、可选链、空值合并运算符

一、ECMAScript-ES11-新特性
1. Dynamic import()
  • 动态导入

    const btn = document.querySelector('#btn')
    btn.addEventListener('click', () => {
        import('./ajax').then(mod => {
            mod.default('static/a.json', res => {
              console.log(res)          
            })
        })
    })
    // vue的动态路由
    
2. Optional chaining
  • 可选链

    const user = {
        baseInfo: {
            name: 'zhangsan',
            age: 19,
            getAddress() {
                return "北京"
            }
        }
    }
    console.log(user?.baseInfo?.name) // 获取属性 ?.必须连在一起,不可分割
    console.log(user?.baseInfo?.getAddress?.()) // 调用方法
    
3. Nullish coalescing Operator
  • 空值合并运算符

    // 以前我们需要判断一个变量,有值就取该值,如果没有值,则取默认值,以前我们的做法是使用||
    console.log(false || 1000) // 1000
    console.log(undefined || 1000) //1000
    console.log(null || 1000) // 1000
    console.log(0 || 1000) // 1000
    
    // 存在一个缺陷,假如我就是要取0或者false呢,这个时候就要使用??
    // ??除了null和undefined取默认值,其他都是取传入的值
    console.log(0 ?? 1000) // 0
    console.log(null ?? 1000) // 1000
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值