【Javascript教程】值得学习的特性总结

零 JavaScript教程评论38字数 1727阅读5分45秒阅读模式

所需工具:

Javascript

聪明的大脑文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

勤劳的双手文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

教程如下

可选链操作符(Optional Chaining Operator)

可选链操作符允许我们在一个对象的属性值为空或未定义时,直接返回undefined,而不会抛出“Cannot read property 'xxx' of undefined”等错误。这样的好处是可以简化代码,避免繁琐的判断逻辑。例如:文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

[php]文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

const person = {
name: 'Tom',
age: 18,
address: {
city: 'Shanghai'
}
};文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

// 普通写法
if (person && person.address && person.address.city) {
console.log(person.address.city);
} else {
console.log('unknown');
}文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

// 可选链写法
console.log(person .address .city 'unknown');文章源自灵鲨社区-https://www.0s52.com/bcjc/javascriptjc/13747.html

[/php]

在上述代码中,我们使用了可选链操作符( )和nullish合并运算符( ),将原本需要多次判断的代码缩减到了一行。如果person、address或city不存在,则会直接返回undefined或'unknown'。

空值合并运算符(Nullish Coalescing Operator)

空值合并运算符允许我们在变量为空或undefined时,直接返回默认值。与传统的||操作符不同,它只会在变量为null或undefined时返回默认值,而不是在变量为0、空字符串或false时也返回默认值。例如:

[php]

const name = '';

// 普通写法
const username = name || 'unknown';

// 空值合并写法
const username = name 'unknown';

[/php]

在上述代码中,我们使用了空值合并运算符( )将原本需要繁琐判断的代码简化到了一行,如果name为空或undefined,则会返回'unknown'。

Promise.allSettled()

Promise.allSettled()方法可以接收一个由Promise对象组成的数组,等待所有Promise对象都执行完成后,返回一个包含所有Promise对象的状态信息(fulfilled/rejected)和结果值(value/reason)的数组。与Promise.all()不同的是,即使其中某个Promise被reject,Promise.allSettled()仍然会等待其他Promise对象执行完毕后再返回结果。例如:

[php]

const promises = [
Promise.resolve(1),
Promise.reject(new Error('fail')),
Promise.resolve(3)
];

Promise.allSettled(promises).then(results => {
results.forEach(result => {
console.log(result.status, result.value);
});
});

[/php]

在上述代码中,我们使用了Promise.allSettled()方法获取了所有Promise对象的状态信息和结果值,并使用forEach遍历输出了它们的状态(fulfilled/rejected)和结果值(value/reason)。

BigInt类型

BigInt类型是ES2020新引入的一种数据类型,用于表示任意精度的整数。相较于Number类型,它能够处理更大的整数,避免了溢出和精度丢失的问题。例如:

[php]

const x = BigInt(Number.MAX_SAFE_INTEGER);
const y = BigInt('9007199254740993');
const z = x + y;

console.log(z); // 9007199254740994n

[/php]

在上述代码中,我们使用了BigInt类型来表示较大的整数,并通过+运算符对它们进行了加法计算。

零
  • 转载请务必保留本文链接:https://www.0s52.com/bcjc/javascriptjc/13747.html
    本社区资源仅供用于学习和交流,请勿用于商业用途
    未经允许不得进行转载/复制/分享

发表评论