<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特性(小结)

        时间:2023-12-11
          <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开发中,有很多看起来不起眼的特性其实可以极大地提高代码的质量和效率。希望你能够通过本文学到一些新的技巧。

                  上一篇:10道典型的JavaScript面试题 下一篇:使用Redis获取数据转json,解决动态泛型传参的问题

                  相关文章

                • <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>

                  1. <legend id='rfERa'><style id='rfERa'><dir id='rfERa'><q id='rfERa'></q></dir></style></legend>
                    • <bdo id='rfERa'></bdo><ul id='rfERa'></ul>
                  2. <small id='rfERa'></small><noframes id='rfERa'>

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