如何优雅的在项目中使用js 新特性

Object.entries 迭代对象

const person = {
    name: '111',
    age: 20
}

// Object.keys 迭代一个对象
Object.keys(person).forEach((key) => {
    console.log(`${key} is ${person[key]}`)
})
// name is 111
// age is 20

// Object.entries 迭代一个对象
Object.entries(person).forEach(([key, value]) => {
    console.log(`${key} is ${value}`)
})
// name is 111
// age is 20

replaceAll 方法

// 在 JS 中,要将所有出现的字符串替换为另一个字符串,我们需要使用如下所示的正则表达式:
const str = 'Red-Green-Blue'
// 只匹配第一次出现的
let newStr = str.replace('-', '')
console.log(newStr) // RedGreen-Blue
// 使用全局替换 
let newGstr = str.replace(/\-/g, '')
console.log(newGstr) // RedGreenBlue

// ES12新增的方法  replaceAll 的新方法被添加到 String.prototype
console.log(str.replaceAll('-', '')) // RedGreenBlue

数字分隔符

在这里插入代码片// 难以阅读
const billion = 1000000000;

// 易于阅读
const readableBillion = 1000_000_000;
console.log(readableBillion) //1000000000

document.designMode 的功能

// 与前端的JavaScript有关,设计模式让你可以编辑页面上的任何内容。只要打开浏览器控制台,输入以下内容即可。

document.designMode = 'on';

逻辑赋值运算符

// 逻辑赋值运算符是由逻辑运算符&&、||、??和赋值运算符=组合而成。
let a = 1;
let b = 2;

a &&= b;
console.log(a); // 2
// a &&= b; 等价于下边
a && (a = b)

if(a){
    a = b
}
//检查a是否为真,如果true 则更新a的值



let newA = null
let newB = 3
newA ||= newB
console.log(newA)
// 等价
newA || (newA = newB)
console.log(newA) // 3


// 使用空值合并操作符 ??:

let a1 = null;
let b1 = 6;

a1 ??= b1;
console.log(a1); // 6

// 上面等价于
if (a1 === null || a1 === undefined) {
  a1 = b1;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜丶陌颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值