<tfoot id='X7SCZ'></tfoot>
    1. <small id='X7SCZ'></small><noframes id='X7SCZ'>

      <i id='X7SCZ'><tr id='X7SCZ'><dt id='X7SCZ'><q id='X7SCZ'><span id='X7SCZ'><b id='X7SCZ'><form id='X7SCZ'><ins id='X7SCZ'></ins><ul id='X7SCZ'></ul><sub id='X7SCZ'></sub></form><legend id='X7SCZ'></legend><bdo id='X7SCZ'><pre id='X7SCZ'><center id='X7SCZ'></center></pre></bdo></b><th id='X7SCZ'></th></span></q></dt></tr></i><div id='X7SCZ'><tfoot id='X7SCZ'></tfoot><dl id='X7SCZ'><fieldset id='X7SCZ'></fieldset></dl></div>
      <legend id='X7SCZ'><style id='X7SCZ'><dir id='X7SCZ'><q id='X7SCZ'></q></dir></style></legend>

        • <bdo id='X7SCZ'></bdo><ul id='X7SCZ'></ul>

        你可能从未使用过的11+个JavaScript特性(小结)

        下面是详细讲解“你可能从未使用过的11+个JavaScript特性(小结)”的攻略。
          <i id='IEiMh'><tr id='IEiMh'><dt id='IEiMh'><q id='IEiMh'><span id='IEiMh'><b id='IEiMh'><form id='IEiMh'><ins id='IEiMh'></ins><ul id='IEiMh'></ul><sub id='IEiMh'></sub></form><legend id='IEiMh'></legend><bdo id='IEiMh'><pre id='IEiMh'><center id='IEiMh'></center></pre></bdo></b><th id='IEiMh'></th></span></q></dt></tr></i><div id='IEiMh'><tfoot id='IEiMh'></tfoot><dl id='IEiMh'><fieldset id='IEiMh'></fieldset></dl></div>

          <small id='IEiMh'></small><noframes id='IEiMh'>

              <tbody id='IEiMh'></tbody>

                <tfoot id='IEiMh'></tfoot>
                • <bdo id='IEiMh'></bdo><ul id='IEiMh'></ul>
                  <legend id='IEiMh'><style id='IEiMh'><dir id='IEiMh'><q id='IEiMh'></q></dir></style></legend>
                • 下面是详细讲解“你可能从未使用过的11+个JavaScript特性(小结)”的攻略。

                  介绍

                  本文将讲解11+个在JavaScript中常被忽略的特性。包括可选链操作符、空合并运算符、BigInt、Promise.allSettled()、Array.flat()、Array.flatMap()、Object.fromEntries()、String.trimStart()和trimEnd()、相等运算符(==和!=)、严格相等运算符(===和!==)、null赋值运算符(??)。

                  可选链操作符

                  可选链操作符(?.)是一个新的操作符,可以帮助我们避免在链式调用中因为某个属性或方法不存在而导致的TypeError问题。示例代码如下:

                  const person = {
                    name: 'John',
                    pet: {
                      type: 'dog',
                      name: 'Rufus'
                    }
                  };
                  
                  console.log(person.pet?.name); // "Rufus"
                  console.log(person.pet?.age); // undefined
                  console.log(person.pet.age); // throws TypeError
                  

                  空合并运算符

                  空合并运算符(??)可以帮助我们在对nullish(null或undefined)值进行取值操作时简化代码。示例代码如下:

                  const a = null;
                  const b = undefined;
                  const c = 'Hello';
                  
                  console.log(a ?? b); // undefined
                  console.log(a ?? c); // "Hello"
                  console.log(b ?? c); // "Hello"
                  

                  BigInt

                  BigInt可以帮助我们处理大整数(超过2的53次方-1,也就是JavaScript的Number类型的最大值)。示例代码如下:

                  const bigInt1 = BigInt(Number.MAX_SAFE_INTEGER) + 1n;
                  const bigInt2 = 9007199254740993n;
                  console.log(bigInt1); // 9007199254740993n
                  console.log(bigInt2); // 9007199254740993n
                  console.log(bigInt1 === bigInt2); // true
                  

                  Promise.allSettled()

                  Promise.allSettled()可以帮助我们同时处理多个Promise,并且不会因为其中某个Promise失败而导致整个操作失败。示例代码如下:

                  const promises = [
                    Promise.resolve(1),
                    Promise.reject('error'),
                    Promise.resolve(3)
                  ];
                  
                  Promise.allSettled(promises)
                    .then(results => console.log(results))
                    .catch(error => console.log(error));
                  
                  // 输出:
                  // [
                  //   {status: "fulfilled", value: 1},
                  //   {status: "rejected", reason: "error"},
                  //   {status: "fulfilled", value: 3}
                  // ]
                  

                  Array.flat()

                  Array.flat()可以帮助我们将多维数组转化为一维数组。示例代码如下:

                  const arr = [1, [2, [3, [4]]]];
                  console.log(arr.flat()); // [1, 2, [3, [4]]]
                  console.log(arr.flat(2)); // [1, 2, 3, [4]]
                  

                  Array.flatMap()

                  Array.flatMap()可以帮助我们在映射数组的同时展开其结果。示例代码如下:

                  const arr = ['1 2', '3 4', '5 6'];
                  const newArray = arr.flatMap(str => str.split(' ').map(Number));
                  console.log(newArray); // [1, 2, 3, 4, 5, 6]
                  

                  Object.fromEntries()

                  Object.fromEntries()可以将由键值对组成的二维数组转化为对象。示例代码如下:

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

                  String.trimStart()和trimEnd()

                  String.trimStart()和trimEnd()可以帮助我们去除字符串开头和结尾的空格。示例代码如下:

                  const str = '   hello world   ';
                  console.log(str.trimStart()); // "hello world   "
                  console.log(str.trimEnd()); // "   hello world"
                  

                  相等和严格相等运算符

                  相等运算符(==和!=)和严格相等运算符(===和!==)可以帮助我们判断两个值是否相同。其中,严格相等运算符在比较时会同时比较变量的值和类型。示例代码如下:

                  const num1 = 1;
                  const num2 = '1';
                  
                  console.log(num1 == num2); // true
                  console.log(num1 === num2); // false
                  

                  null赋值运算符

                  null赋值运算符(??)可以帮助我们对变量进行nullish判断,并在变量不存在或者为nullish时进行默认值的赋值操作。示例代码如下:

                  const a = null;
                  const b = undefined;
                  const c = 'Hello';
                  
                  console.log(a ?? 'default'); // 'default'
                  console.log(b ?? 'default'); // 'default'
                  console.log(c ?? 'default'); // 'Hello'
                  

                  结论

                  在JavaScript开发中,有很多看起来不起眼的特性其实可以极大地提高代码的质量和效率。希望你能够通过本文学到一些新的技巧。

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Lambda表达式是Java 8中引入的新特性之一,它是一个匿名函数,可以捕获参数并表现为一个代码块,而不像方法一样需要一个固定的名称。它主要用于传递行为或代码块以及事件处理等操作。
                  下面为您详细讲解基于Java的回调函数。
                  在Java中,equals()是用来比较两个对象是否相等的函数。equals()方法是Object类中的方法,因此所有Java类都包含equals()方法。在默认情况下,equals()方法比较对象的引用地址是否相同,即两个对象是否是同一个实例。但是,我们可以覆盖equals()方法,来定义自
                  JavaWeb是Java在Web领域的应用,是目前非常热门的技术之一。但是JavaWeb涉及到的技术非常广泛,初学者很容易迷失方向。本文总结了JavaWeb的基础知识,为初学者提供了一份学习笔记分享,希望能够帮助大家快速入门。
                  在Java编程中,字符串操作是很常见的,而替换字符串是其中常用的操作之一。Java提供了三种函数用于替换字符串:replace、replaceAll和replaceFirst。这篇文章将为您详细介绍它们的用法。
                  进制是数学中一种表示数值大小的方法,常见的进制有10进制、2进制、16进制等。
                  <i id='rfERa'><tr id='rfERa'><dt id='rfERa'><q id='rfERa'><span id='rfERa'><b id='rfERa'><form id='rfERa'><ins id='rfERa'></ins><ul id='rfERa'></ul><sub id='rfERa'></sub></form><legend id='rfERa'></legend><bdo id='rfERa'><pre id='rfERa'><center id='rfERa'></center></pre></bdo></b><th id='rfERa'></th></span></q></dt></tr></i><div id='rfERa'><tfoot id='rfERa'></tfoot><dl id='rfERa'><fieldset id='rfERa'></fieldset></dl></div>

                    • <legend id='rfERa'><style id='rfERa'><dir id='rfERa'><q id='rfERa'></q></dir></style></legend>
                        <tbody id='rfERa'></tbody>

                      • <bdo id='rfERa'></bdo><ul id='rfERa'></ul>
                      • <small id='rfERa'></small><noframes id='rfERa'>

                          <tfoot id='rfERa'></tfoot>