精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

11 種在大多數教程中找不到的JavaScript技巧

開發 前端
Set對象類型是在ES6中引入的,配合展開操作...一起,我們可以使用它來創建一個新數組,該數組只有唯一的值。

[[284372]]

 1..過濾唯一值

Set對象類型是在ES6中引入的,配合展開操作...一起,我們可以使用它來創建一個新數組,該數組只有唯一的值。

 

11 種在大多數教程中找不到的JavaScript技巧

 

在ES6之前,隔離惟一值將涉及比這多得多的代碼。

此技巧適用于包含基本類型的數組:undefined,null,boolean,string和number。 (如果你有一個包含對象,函數或其他數組的數組,你需要一個不同的方法!)

2. 與或運算

三元運算符是編寫簡單(有時不那么簡單)條件語句的快速方法,如下所示:

 

11 種在大多數教程中找不到的JavaScript技巧

 

但有時使用三元運算符處理也會很復雜。 相反,我們可以使用'與'&&和'或'|| 邏輯運算符以更簡潔的方式書寫表達式。 這通常被稱為“短路”或“短路運算”。

它是怎么工作的

假設我們只想返回兩個或多個選項中的一個。

使用&&將返回第一個條件為假的值。如果每個操作數的計算值都為true,則返回最后一個計算過的表達式。

 

11 種在大多數教程中找不到的JavaScript技巧

 

使用||將返回第一個條件為真的值。如果每個操作數的計算結果都為false,則返回最后一個計算過的表達式。

 

11 種在大多數教程中找不到的JavaScript技巧

 

例一

假設我們想返回一個變量的長度,但是我們不知道變量的類型。

我們可以使用if/else語句來檢查foo是可接受的類型,但是這可能會變得非常冗長。或運行可以幫助我們簡化操作:

 

  1. return (foo || []).length 

如果變量foo是true,它將被返回。否則,將返回空數組的長度:0。

例二

你是否遇到過訪問嵌套對象屬性的問題? 你可能不知道對象或其中一個子屬性是否存在,這可能會導致令人沮喪的錯誤。

假設我們想在this.state中訪問一個名為data的屬性,但是在我們的程序成功返回一個獲取請求之前,data 是未定義的。

根據我們使用它的位置,調用this.state.data可能會阻止我們的應用程序運行。 為了解決這個問題,我們可以將其做進一步的判斷:

 

  1. if (this.state.data) { 
  2.  return this.state.data; 
  3. else { 
  4.  return 'Fetching Data'

但這似乎很重復。 '或' 運算符提供了更簡潔的解決方案:

 

  1. return (this.state.data || 'Fetching Data'); 

一個新特性: Optional Chaining

過去在 Object 屬性鏈的調用中,很容易因為某個屬性不存在而導致之后出現Cannot read property xxx of undefined的錯誤。

那 optional chaining 就是添加了?.這么個操作符,它會先判斷前面的值,如果是 null 或 undefined,就結束調用、返回 undefined。

例如,我們可以將上面的示例重構為 this.state.data?.()。或者,如果我們主要關注state 是否已定義,我們可以返回this.state?.data。

該提案目前處于第1階段,作為一項實驗性功能。 你可以在這里閱讀它,你現在可以通過Babel使用你的JavaScript,將 @babel/plugin-proposal-optional-chaining添加到你的.babelrc文件中。

3.轉換為布爾值

除了常規的布爾值true和false之外,JavaScript還將所有其他值視為 ‘truthy’或‘falsy’。

除非另有定義,否則 JavaScript 中的所有值都是'truthy',除了 0,“”,null,undefined,NaN,當然還有false,這些都是'falsy'

我們可以通過使用負算運算符輕松地在true和false之間切換。它也會將類型轉換為“boolean”。

 

11 種在大多數教程中找不到的JavaScript技巧

 

4. 轉換為字符串

要快速地將數字轉換為字符串,我們可以使用連接運算符+后跟一組空引號""。

 

11 種在大多數教程中找不到的JavaScript技巧

 

5. 轉換為數字

使用加法運算符+可以快速實現相反的效果。

 

11 種在大多數教程中找不到的JavaScript技巧

 

這也可以用于將布爾值轉換為數字,如下所示

 

  1. console.log(+true); // Return: 1 
  2. console.log(+false); // Return: 0 

在某些上下文中,+將被解釋為連接操作符,而不是加法操作符。當這種情況發生時(你希望返回一個整數,而不是浮點數),您可以使用兩個波浪號:~~。

連續使用兩個波浪有效地否定了操作,因為— ( — n — 1) — 1 = n + 1 — 1 = n。 換句話說,~—16 等于15。

 

  1. const int = ~~"15" 
  2. console.log(int); // Result: 15 
  3. console.log(typeof int); Result: "number" 

雖然我想不出很多用例,但是按位NOT運算符也可以用在布爾值上:~true = -2和~false = -1。

6.性能更好的運算

從ES7開始,可以使用指數運算符**作為冪的簡寫,這比編寫Math.pow(2, 3) 更快。 這是很簡單的東西,但它之所以出現在列表中,是因為沒有多少教程更新過這個操作符。

 

  1. console.log(2 ** 3); // Result: 8 

這不應該與通常用于表示指數的^符號相混淆,但在JavaScript中它是按位異或運算符。

在ES7之前,只有以2為基數的冪才存在簡寫,使用按位左移操作符<<

 

  1. Math.pow(2, n); 
  2. 2 << (n - 1); 
  3. 2**n; 

例如,2 << 3 = 16等于2 ** 4 = 16。

7. 快速浮點數轉整數

如果希望將浮點數轉換為整數,可以使用Math.floor()、Math.ceil()或Math.round()。但是還有一種更快的方法可以使用|(位或運算符)將浮點數截斷為整數。

 

  1. console.log(23.9 | 0); // Result: 23 
  2. console.log(-23.9 | 0); // Result: -23 

|的行為取決于處理的是正數還是負數,所以最好只在確定的情況下使用這個快捷方式。

如果n為正,則n | 0有效地向下舍入。 如果n為負數,則有效地向上舍入。 更準確地說,此操作將刪除小數點后面的任何內容,將浮點數截斷為整數。

你可以使用~~來獲得相同的舍入效果,如上所述,實際上任何位操作符都會強制浮點數為整數。這些特殊操作之所以有效,是因為一旦強制為整數,值就保持不變。

刪除最后一個數字

按位或運算符還可以用于從整數的末尾刪除任意數量的數字。這意味著我們不需要使用這樣的代碼來在類型之間進行轉換。

 

  1. let str = "1553";  
  2. Number(str.substring(0, str.length - 1)); 

相反,按位或運算符可以這樣寫:

 

  1. console.log(1553 / 10 | 0) // Result: 155 
  2. console.log(1553 / 100 | 0) // Result: 15 
  3. console.log(1553 / 1000 | 0) // Result: 1 

8. 類中的自動綁定

我們可以在類方法中使用ES6箭頭表示法,并且通過這樣做可以隱含綁定。 這通常會在我們的類構造函數中保存幾行代碼,我們可以愉快地告別重復的表達式,例如this.myMethod = this.myMethod.bind(this)

 

11 種在大多數教程中找不到的JavaScript技巧

 

9. 數組截斷

如果要從數組的末尾刪除值,有比使用splice()更快的方法。

例如,如果你知道原始數組的大小,您可以重新定義它的length屬性,就像這樣

 

  1. let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. array.length = 4; 
  3. console.log(array); // Result: [0, 1, 2, 3] 

這是一個特別簡潔的解決方案。但是,我發現slice()方法的運行時更快。如果速度是你的主要目標,考慮使用:

 

  1. let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. array = array.slice(0, 4); 
  3. console.log(array); // Result: [0, 1, 2, 3] 

10. 獲取數組中的最后一項

數組方法slice()可以接受負整數,如果提供它,它將接受數組末尾的值,而不是數組開頭的值。

 

  1. let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. console.log(array.slice(-1)); // Result: [9] 
  3. console.log(array.slice(-2)); // Result: [8, 9] 
  4. console.log(array.slice(-3)); // Result: [7, 8, 9] 

11.格式化JSON代碼

最后,你之前可能已經使用過JSON.stringify,但是您是否意識到它還可以幫助你縮進JSON?

stringify()方法有兩個可選參數:一個replacer函數,可用于過濾顯示的JSON和一個空格值。

 

  1. console.log(JSON.stringify({ alpha: 'A', beta: 'B' }, null'\t')); 
  2. // Result: 
  3. // '{ 
  4. // "alpha": A, 
  5. // "beta": B 
  6. // }' 

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2016-10-26 09:42:13

2016-11-13 19:51:16

2009-07-14 15:39:34

Swing大多數控件

2025-07-07 00:00:00

MCPA2AAPI

2011-05-26 10:50:31

2024-07-04 15:47:28

2014-01-02 10:34:54

設計設計師

2020-08-25 19:18:23

自動駕駛人工智能AI

2025-03-20 13:25:36

2021-09-17 16:00:33

Windows 11微軟虛擬機

2023-10-13 10:36:09

物聯網智能建筑

2020-07-05 08:01:44

SOC威脅檢測漏洞

2019-12-13 17:29:50

物聯網大數據安全

2013-03-28 10:01:50

云計算

2023-05-28 23:23:44

2024-08-20 15:23:27

JavaScript開發

2012-12-19 10:07:18

2022-06-10 10:19:15

路由器漏洞

2023-02-27 15:44:17

Java開發技巧

2012-06-17 13:14:29

創業創業公司信息圖
點贊
收藏

51CTO技術棧公眾號

青青草在线免费视频| 日韩伦理在线视频| 91精品福利观看| 亚洲视频一二区| 国产女主播一区二区| 日本a在线观看| 国产在视频线精品视频www666| 欧美性大战久久久| 女女百合国产免费网站| 色婷婷视频在线| 日韩成人精品在线观看| 俺去了亚洲欧美日韩| 一级片黄色免费| 亚洲涩涩在线| 亚洲欧美日韩一区二区| 精品免费日产一区一区三区免费| 国产九色91回来了| 欧美精品自拍| 在线看日韩av| 精品夜夜澡人妻无码av| 亚洲电影二区| 欧美日韩性生活视频| 在线视频一区观看| 久久国产精品高清一区二区三区| 国产乱对白刺激视频不卡 | dy888亚洲精品一区二区三区| 成人黄色综合网站| 成人av番号网| 国产伦精品一区二区三区视频网站 | 91精品麻豆日日躁夜夜躁| 久久精品免费一区二区| 欧美人与性动交α欧美精品图片| 国产精品你懂的在线| 久久久婷婷一区二区三区不卡| 国产色片在线观看| 男女视频一区二区| 欧洲美女7788成人免费视频| 免费一级片视频| 亚州av乱码久久精品蜜桃| 亚洲色图五月天| 一出一进一爽一粗一大视频| 日本免费精品| 91麻豆精品国产91久久久使用方法 | 中文字幕成在线观看| 又紧又大又爽精品一区二区| 亚洲一二三区精品| 成年人在线观看视频| 91麻豆免费在线观看| 国产亚洲福利社区| 午夜精品无码一区二区三区| 国产一区二区三区免费播放| 成人黄色影片在线| 在线免费看av片| 免费黄网站欧美| 国产精品视频自拍| 依依成人在线视频| 老司机午夜精品| 国产欧美韩国高清| 91福利在线观看视频| 全部av―极品视觉盛宴亚洲| 国产精品免费久久久| av大片免费观看| 国产欧美日本| 日本免费一区二区三区视频观看 | 亚洲欧洲一区| 国产做受69高潮| 日本高清www免费视频| 日韩视频在线一区二区三区 | 国产天堂亚洲国产碰碰| 日韩.欧美.亚洲| jizz日韩| 亚洲美女免费视频| 法国空姐在线观看免费| 午夜av在线免费观看| 亚洲国产另类av| 91黄色小网站| 欧美aaa级| 欧美一区二区三区喷汁尤物| 亚洲性图第一页| 婷婷综合电影| 最近2019年手机中文字幕| 一级黄色片日本| 国产精品theporn| 2019精品视频| 真实的国产乱xxxx在线91| 国产在线麻豆精品观看| 国产亚洲情侣一区二区无 | 久久精品91久久香蕉加勒比| 麻豆明星ai换脸视频| 亚洲性视频h| 91精品国产91久久久久| 中文在线免费观看| 国产 欧美在线| 欧美一区2区三区4区公司二百| 免费大片黄在线观看视频网站| 一个色在线综合| 日本不卡在线观看视频| 久久久久久一区二区三区四区别墅| 日韩午夜电影在线观看| aa片在线观看视频在线播放| 久久香蕉国产| 国产麻豆日韩欧美久久| 欧美伊久线香蕉线新在线| 国产情侣免费视频| 国产一区高清在线| 久久综合色一本| 精品麻豆一区二区三区| 懂色av一区二区三区| 色婷婷激情视频| 香蕉人人精品| 色综合天天狠天天透天天伊人 | 一级成人国产| 国产中文日韩欧美| 欧美69xxxxx| 亚洲精品国产a久久久久久| 一本久道中文无码字幕av| 亚洲一区二区三区日本久久九| 国产一区二区三区久久精品| 激情四射综合网| 免费在线观看一区二区三区| 九色91在线视频| 图片区小说区亚洲| 欧美日韩不卡一区| 日韩人妻无码精品综合区| 综合久久精品| 国产美女搞久久| 你懂的视频在线| 精品久久久久久久久久国产| 亚洲av毛片在线观看| 欧美艳星介绍134位艳星| 欧美一级免费视频| 成人午夜免费福利| 亚洲精品乱码久久久久久| 成人免费在线观看视频网站| 牲欧美videos精品| 高清欧美性猛交xxxx黑人猛交| 国产三级漂亮女教师| 中文字幕一区二| 99sesese| 日韩片欧美片| 国产精品久久久久久久久久免费 | 九九在线精品| 97在线视频免费观看| www.色婷婷.com| 亚洲人妖av一区二区| 中文字幕第100页| 日韩三级在线| 91精品久久久久久久久久另类| 欧美日韩在线中文字幕| 欧美视频第一页| 成人网站免费观看| 亚洲免费影视| 欧美日产一区二区三区在线观看| 亚洲性色av| 日韩精品极品在线观看| 亚洲精品午夜国产va久久成人| 成人一区二区三区中文字幕| 日韩在线观看a| 动漫av一区| 91a在线视频| 欧美777四色影视在线| 色偷偷久久人人79超碰人人澡| 久久久久亚洲av成人无码电影| 久久久久久网| 亚洲午夜精品一区二区| 国产精品一区免费在线| 欧美久久久精品| 熟妇人妻av无码一区二区三区 | 最新中文字幕免费| 国产精品国产成人国产三级| www.国产福利| 国内精品亚洲| 久久久www免费人成黑人精品| 成人影院入口| 中文字幕在线日韩 | 日本系列第一页| 2020国产成人综合网| 国产性生交xxxxx免费| 四虎8848精品成人免费网站| 91精品久久久久久蜜桃| 成人观看网址| 一区二区欧美亚洲| 精品久久久久久亚洲综合网站| 亚洲成人高清在线| 91成人在线免费视频| 国产一区二三区好的| 欧美乱大交xxxxx潮喷l头像| 欧美丝袜丝交足nylons172| 91在线高清免费观看| 日韩激情电影| 久久精品精品电影网| 五十路在线观看| 欧美日韩一区在线| 久久高清免费视频| 中文字幕欧美激情一区| 在线播放第一页| 日本不卡视频在线| www.日本在线视频| 欧美日韩国产免费观看视频| 97中文在线观看| 小黄鸭精品aⅴ导航网站入口| 欧美成人激情视频| 毛片在线免费| 欧美成人r级一区二区三区| 不卡av电影在线| 夜夜精品视频一区二区| 久久久久久国产免费a片| 成人永久免费视频| 天堂av2020| 久久永久免费| 黄网站欧美内射| 久久久久久美女精品| 欧洲亚洲一区二区三区四区五区| 午夜久久av| 国产精品偷伦视频免费观看国产 | 午夜国产欧美理论在线播放| 欧美少妇一区| 国产成人高清精品免费5388| 成人黄色免费看| 亚洲a∨精品一区二区三区导航| 欧美精品久久久久久久免费观看| 免费在线看黄| 在线观看国产精品91| 日本大片在线观看| 精品裸体舞一区二区三区| 91无套直看片红桃| 在线影院国内精品| 国产www在线| 亚洲国产精品嫩草影院| 人妻少妇精品一区二区三区| 国产精品福利av| 国产精品av久久久久久无| 91网上在线视频| 人妻少妇精品视频一区二区三区| 成人精品电影在线观看| 亚洲少妇中文字幕| 国产精品乡下勾搭老头1| 一二三av在线| 久久99久久久欧美国产| 中文字幕第38页| 日本强好片久久久久久aaa| 日av中文字幕| 老司机免费视频久久| 东京热加勒比无码少妇| 亚洲视频播放| 日韩欧美视频网站| 国产深夜精品| 黑人糟蹋人妻hd中文字幕| 亚洲欧美日本国产专区一区| 伊人成色综合网| 久久久久在线| 日韩精品你懂的| 蜜臀久久99精品久久久久久9| 91国产精品视频在线观看| 免费观看一级特黄欧美大片| 日日躁夜夜躁aaaabbbb| 久久成人久久爱| 下面一进一出好爽视频| 成人午夜精品在线| 国产二级一片内射视频播放| 99久精品国产| 级毛片内射视频| 中文字幕一区二区三区蜜月| 国产人妻精品一区二区三区不卡| 亚洲欧美日韩人成在线播放| 久久精品国产亚洲av高清色欲| 亚洲午夜久久久久中文字幕久| 日韩av一区二区在线播放| 欧美日韩在线视频一区二区| 日韩一级在线视频| 欧美日韩一区二区电影| 999久久久久久| 精品久久国产老人久久综合| 爽爽视频在线观看| 在线a欧美视频| 亚洲妇熟xxxx妇色黄| 91精品国产乱码久久久久久蜜臀 | 91久久精品久久国产性色也91| 日韩免费成人| 久久久精品国产一区二区三区| 日韩精品永久网址| 今天免费高清在线观看国语| 99精品欧美| 中文字幕永久有效| 成人精品免费看| 亚洲精品国产91| 尤物视频一区二区| 天天操天天操天天操天天| 欧美日韩一卡二卡三卡 | 成人av片在线观看| 欧美熟妇激情一区二区三区| 亚洲精品一二三区| 特黄视频免费看| 日韩亚洲欧美高清| 久久精品色图| 欧美国产第二页| 91精品国产经典在线观看| 国产精品亚洲一区| 成人在线免费观看网站| 人人妻人人澡人人爽欧美一区双| 久久深夜福利| 亚洲AV成人精品| 久久青草国产手机看片福利盒子 | 国产精品揄拍一区二区| 高潮久久久久久久久久久久久久| 日韩在线导航| 99国产精品视频免费观看一公开| 中文字幕在线观看日| 久久久久久久久97黄色工厂| 久久久久成人网站| 欧美性大战久久久久久久| 天堂中文在线8| 欧美裸体xxxx极品少妇| 日韩色性视频| 欧美日韩精品免费在线观看视频| 亚洲高清在线| 午夜免费福利网站| 国产精品久久三| 欧美brazzers| 亚洲美女视频网| 大桥未久在线播放| 91在线视频九色| 日韩av自拍| 别急慢慢来1978如如2| www一区二区| 日韩欧美亚洲一区二区三区| 日韩欧美中文字幕制服| 黄网站在线免费| 国产欧美中文字幕| 狠狠综合久久av一区二区蜜桃| 伊人成色综合网| av一本久道久久综合久久鬼色| 精品人妻在线播放| 欧美不卡视频一区| 成人影院在线看| 91在线中文字幕| 影音先锋日韩精品| 99日在线视频| 日韩理论片网站| 国产伦一区二区| 久久这里只有精品视频首页| 亚洲二区av| 国产一级黄色录像片| 国产精品一区二区91| 美女的奶胸大爽爽大片| 日韩一级片在线观看| av毛片在线免费| 成人综合色站| 伊人天天综合| xxxx黄色片| 狠狠干狠狠久久| 你懂的视频在线观看| 国产成人avxxxxx在线看| 国产91精品对白在线播放| 国产女女做受ⅹxx高潮| 久久精品视频一区| 波多野结衣一本一道| 中文字幕日韩免费视频| av国产精品| av日韩在线看| 成人福利电影精品一区二区在线观看| 国产精品午夜影院| 亚洲人成网在线播放| 欧美日一区二区三区| 在线观看亚洲视频啊啊啊啊| 国产精品一卡二卡| 五月天婷婷丁香| 亚洲欧美在线磁力| 成人精品国产亚洲| 糖心vlog在线免费观看| 大尺度一区二区| 久久精品国产成人av| 在线看日韩av| 视频二区欧美毛片免费观看| 乱人伦xxxx国语对白| 国产日韩欧美麻豆| 国产精品视频第一页| 久久久女女女女999久久| 国产99亚洲| 亚洲视频在线不卡| 五月天婷婷综合| 91亚洲精选| 国产高清自拍一区| 久久黄色网页| 国产一区二区播放| 日韩精品视频中文在线观看| 色噜噜成人av在线| 欧美激情视频免费看| 中文字幕精品综合| 亚洲国产成人一区二区| 国产成人极品视频| 午夜视频一区| www在线观看免费视频| 欧美老肥妇做.爰bbww| 99爱在线观看| 中文字幕中文字幕99| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 美女欧美视频在线观看免费| 92福利视频午夜1000合集在线观看| 在线一区欧美|