最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Javascript中值得學(xué)習(xí)的特性總結(jié)

 更新時(shí)間:2023年05月07日 09:27:53   作者:餃子不放糖  
本文主要介紹了一些Javascript中值得學(xué)習(xí)的特性,可選鏈操作符,空值合并運(yùn)算符,Promise.allSettled(),BigInt類型等特性,文中有詳細(xì)的代碼示例介紹這些特性,感興趣的可以參考下

可選鏈操作符(Optional Chaining Operator)

可選鏈操作符允許我們?cè)谝粋€(gè)對(duì)象的屬性值為空或未定義時(shí),直接返回undefined,而不會(huì)拋出“Cannot read property 'xxx' of undefined”等錯(cuò)誤。這樣的好處是可以簡(jiǎn)化代碼,避免繁瑣的判斷邏輯。例如:

const person = {
  name: 'Tom',
  age: 18,
  address: {
    city: 'Shanghai'
  }
};

// 普通寫法
if (person && person.address && person.address.city) {
  console.log(person.address.city);
} else {
  console.log('unknown');
}

// 可選鏈寫法
console.log(person?.address?.city ?? 'unknown');

在上述代碼中,我們使用了可選鏈操作符(?)和nullish合并運(yùn)算符(??),將原本需要多次判斷的代碼縮減到了一行。如果person、address或city不存在,則會(huì)直接返回undefined或'unknown'。

空值合并運(yùn)算符(Nullish Coalescing Operator)

空值合并運(yùn)算符允許我們?cè)谧兞繛榭栈騯ndefined時(shí),直接返回默認(rèn)值。與傳統(tǒng)的||操作符不同,它只會(huì)在變量為null或undefined時(shí)返回默認(rèn)值,而不是在變量為0、空字符串或false時(shí)也返回默認(rèn)值。例如:

const name = '';

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

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

在上述代碼中,我們使用了空值合并運(yùn)算符(??)將原本需要繁瑣判斷的代碼簡(jiǎn)化到了一行,如果name為空或undefined,則會(huì)返回'unknown'。

Promise.allSettled()

Promise.allSettled()方法可以接收一個(gè)由Promise對(duì)象組成的數(shù)組,等待所有Promise對(duì)象都執(zhí)行完成后,返回一個(gè)包含所有Promise對(duì)象的狀態(tài)信息(fulfilled/rejected)和結(jié)果值(value/reason)的數(shù)組。與Promise.all()不同的是,即使其中某個(gè)Promise被reject,Promise.allSettled()仍然會(huì)等待其他Promise對(duì)象執(zhí)行完畢后再返回結(jié)果。例如:

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);
  });
});

在上述代碼中,我們使用了Promise.allSettled()方法獲取了所有Promise對(duì)象的狀態(tài)信息和結(jié)果值,并使用forEach遍歷輸出了它們的狀態(tài)(fulfilled/rejected)和結(jié)果值(value/reason)。

BigInt類型

BigInt類型是ES2020新引入的一種數(shù)據(jù)類型,用于表示任意精度的整數(shù)。相較于Number類型,它能夠處理更大的整數(shù),避免了溢出和精度丟失的問題。例如:

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

console.log(z); // 9007199254740994n

在上述代碼中,我們使用了BigInt類型來表示較大的整數(shù),并通過+運(yùn)算符對(duì)它們進(jìn)行了加法計(jì)算。

以上就是關(guān)于Javascript中值得學(xué)習(xí)的特性總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Javascript特性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

  • artdialog的圖片/標(biāo)題以及關(guān)閉按鈕不顯示的解決方法

    artdialog的圖片/標(biāo)題以及關(guān)閉按鈕不顯示的解決方法

    正如標(biāo)題所言不顯示的原因是因其它c(diǎn)ss樣式文件中包含div{ overflow:hidden; }引起的artdialog的圖片以及關(guān)閉按鈕不顯示,具體的解決方法如下,感興趣的朋友可以參考下哈
    2013-06-06
  • Three.js利用性能插件stats實(shí)現(xiàn)性能監(jiān)聽的方法

    Three.js利用性能插件stats實(shí)現(xiàn)性能監(jiān)聽的方法

    Three.js 是一款運(yùn)行在瀏覽器中的 3D 引擎,你可以用它創(chuàng)建各種三維場(chǎng)景,而下面這篇文章主要給大家介紹了關(guān)于Three.js如何利用性能插件stats實(shí)現(xiàn)性能監(jiān)聽的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • CSS常用網(wǎng)站布局實(shí)例

    CSS常用網(wǎng)站布局實(shí)例

    PS:這里列出的是常用的例子,而非研究之用,對(duì)一每個(gè)盒子,都沒有設(shè)置margin,padding,boeder等屬性!
    2008-04-04
  • javascript中閉包c(diǎn)losure的深入講解

    javascript中閉包c(diǎn)losure的深入講解

    這篇文章主要給大家介紹了關(guān)于javascript中閉包c(diǎn)losure的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • javascript 不用reverse實(shí)現(xiàn)字符串反轉(zhuǎn)的代碼

    javascript 不用reverse實(shí)現(xiàn)字符串反轉(zhuǎn)的代碼

    javascript 不用reverse實(shí)現(xiàn)字符串反轉(zhuǎn)的代碼,需要的朋友可以參考下。
    2010-03-03
  • uniapp中uni.switchTab無法傳參的解決辦法

    uniapp中uni.switchTab無法傳參的解決辦法

    uni.switchTab跳轉(zhuǎn)的必須是TabBar上的路徑,下面這篇文章主要給大家介紹了關(guān)于uniapp中uni.switchTab無法傳參的解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • js HTML DOM EventListener功能與用法實(shí)例分析

    js HTML DOM EventListener功能與用法實(shí)例分析

    這篇文章主要介紹了js HTML DOM EventListener功能與用法,結(jié)合實(shí)例形式分析了js HTML DOM EventListener事件監(jiān)聽相關(guān)用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • javascript 翻頁測(cè)試頁(動(dòng)態(tài)創(chuàng)建標(biāo)簽并自動(dòng)翻頁)

    javascript 翻頁測(cè)試頁(動(dòng)態(tài)創(chuàng)建標(biāo)簽并自動(dòng)翻頁)

    javascript 翻頁測(cè)試頁(動(dòng)態(tài)創(chuàng)建標(biāo)簽并自動(dòng)翻頁),需要的朋友可以參考下。
    2009-12-12
  • 最新評(píng)論

    莱芜市| 安丘市| 长海县| 大化| 平果县| 塘沽区| 探索| 石河子市| 苏尼特左旗| 正定县| 拜城县| 麟游县| 宁河县| 开平市| 波密县| 天柱县| 定安县| 安阳市| 土默特左旗| 卢氏县| 章丘市| 闸北区| 昌江| 永胜县| 巴塘县| 桐庐县| 广汉市| 锡林郭勒盟| 罗城| 麟游县| 黔江区| 长春市| 旬邑县| 青阳县| 炉霍县| 射阳县| 桓台县| 云浮市| 彰化市| 灌南县| 沛县|