经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
关于Javascript中值得学习的特性总结
来源:jb51  时间:2023/5/8 10:20:30  对本文有异议

可选链操作符(Optional Chaining Operator)

可选链操作符允许我们在一个对象的属性值为空或未定义时,直接返回undefined,而不会抛出“Cannot read property 'xxx' of undefined”等错误。这样的好处是可以简化代码,避免繁琐的判断逻辑。例如:

  1. const person = {
  2. name: 'Tom',
  3. age: 18,
  4. address: {
  5. city: 'Shanghai'
  6. }
  7. };
  8.  
  9. // 普通写法
  10. if (person && person.address && person.address.city) {
  11. console.log(person.address.city);
  12. } else {
  13. console.log('unknown');
  14. }
  15.  
  16. // 可选链写法
  17. console.log(person?.address?.city ?? 'unknown');

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

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

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

  1. const name = '';
  2.  
  3. // 普通写法
  4. const username = name || 'unknown';
  5.  
  6. // 空值合并写法
  7. const username = name ?? 'unknown';

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

Promise.allSettled()

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

  1. const promises = [
  2. Promise.resolve(1),
  3. Promise.reject(new Error('fail')),
  4. Promise.resolve(3)
  5. ];
  6.  
  7. Promise.allSettled(promises).then(results => {
  8. results.forEach(result => {
  9. console.log(result.status, result.value);
  10. });
  11. });

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

BigInt类型

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

  1. const x = BigInt(Number.MAX_SAFE_INTEGER);
  2. const y = BigInt('9007199254740993');
  3. const z = x + y;
  4.  
  5. console.log(z); // 9007199254740994n

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

以上就是关于Javascript中值得学习的特性总结的详细内容,更多关于Javascript特性的资料请关注w3xue其它相关文章!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号