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

不要再到處使用 === 了

開發 前端
在本文中,我們將通過對比差異,理解強制性,研究一些流行的用例,并最終找到指導我們做出決定的準則,來深入了解該主題。

我們知道現在的開發人員都使用 === 來代替 ==,為什么呢?

我在網上看到的大多數教程都認為,要預測 JavaScript 強制轉換是如何工作這太復雜了,因此建議總是使用===。

這些都導致許多程序員將該語言的一部分排除在外,并將其視為一種缺陷,而不是去擴大他們的對該過程的理解。

下面通過兩個使用案例,說明使用 == 的好處。

1. 測試空值

  1. if (x == null) 
  2. vs 
  3. if (x === undefined || x === null) 

2. 讀取用戶的輸入

不要再到處使用 === 了

在本文中,我們將通過對比差異,理解強制性,研究一些流行的用例,并最終找到指導我們做出決定的準則,來深入了解該主題。

簡介

在Javascript中,相等由兩個運算符完成。

  • === —嚴格相等比較也稱為三等運算符。
  • == — 抽象的相等比較

我一直在使用===,因為我被告知它比==更好和更好,而且我根本不需要考慮它,作為一個懶惰的人,我覺得很方便。

直到我觀看了Kyle或[@getfiy][1]的[You Do n't Know JS][2]作者在Frontend Masters上的“ Deep JavaScript Foundations”。

作為一名專業的程序員,我沒有深入思考我每天工作中使用的操作符,這一事實激勵我去傳播意識,并鼓勵人們更多地理解和關注我們編寫的代碼。

事實的根源在哪里

知道真實的原因在哪里很重要。不是在 Mozilla 的 W3school 上,也不在聲稱===優于==的數百篇文章中,而且在這篇文章中也絕對沒有。。

在JavaScript規范中,我們可以找到關于JavaScript如何工作的[文檔][3]。

打破常識

(1) `==`只檢查值(松散)

如果看一下規范,從定義中可以很清楚地看出,算法要做的第一件事實際上就是檢查類型。

不要再到處使用 === 了

(2) `===`檢查值和類型(嚴格)

在這里,我們同樣可以從規范中看到,它檢查類型,如果它們不同,則不會再檢查值。

不要再到處使用 === 了

雙等號和三等號之間的真正區別是我們是否允許強制轉換。

JavaScript 中的強制轉換

強制轉換或類型轉換是任何編程語言的基礎之一。這對于動態類型化的語言(例如JavaScript)尤為重要,因為如果類型更改,編譯器不會對它大喊大叫,找它麻煩。

理解強制性意味著我們能夠以與JavaScript相同的方式解釋代碼,從而為我們提供了更大的可擴展性并最大程度地減少了錯誤。

(1) 顯性強制轉換

強制轉換可以在程序員調用這些方法之一時顯式發生,從而強制改變變量的類型。

Boolean(), Number(), BigInt(), String(), Object()

事例:

  1. let x = 'foo'
  2. typeof x // string 
  3. x = Boolean('foo') 
  4. typeof x // boolean 

(2) 隱藏轉換

在JavaScript中,變量的類型很弱,因此這意味著它們可以自動轉換(隱式強制)。當我們使用算術運算符+ / — *,周圍的上下文或使用==時,通常是這種情況。

  1. 2 / '3' // '3' 強制轉為  3 
  2. new Date() + 1 //  強制轉換為以1結尾的日期字符串 
  3. if(x) // x 被強制為布爾值 
  4. 1 == true // true 被強制為 1 
  5. 1 == 'true' // 'true' 被強制為  NaN 
  6. `this ${variable} will be coreced to string 

隱性強制是一把雙刃劍,合理使用可以增加可讀性,減少冗長。如果使用不當或被誤解,我們就會有一個讓人失望的公式,人們會咆哮并指責JavaScript。

比較的算法

(1) == 運算符號的算法

  • 如果X和Y是相同的類型,則執行===。
  • 如果X為null且Y未定義或反之,則為true。
  • 如果一個是數字,則將另一個強制為數字。
  • 如果一個是對象,則強制轉換為原始對象。
  • 其它,返回 false。

(2) === 比較的算法

  • 如果類型不匹配 false。
  • 如果類型匹配-比較值,為 NaN 時返回false。
  • -0 — true.

流行的用例

(1) 同類型(多數情況)

如果類型相同,則===與==完全相同。因此,應該使用語義性更強的那個。

  1. 1 == 1 // true       
  2. 'foo' == 'foo' // true   

類型不同,我更喜歡用 ===。

(2) 不同類型(原始類型)

首先,我想提醒您注意,不同類型并不意味著未知類型。不知道類型表明代碼中的問題比僅使用 === vs==更大。了解類型表明對代碼有更深入的理解,這會減少更多的錯誤。

假設我們有一個數字或字符串的可能性。請記住,算法更偏向數字類型,因此它將嘗試使用toNumber()

  1. let foo = 2
  2. let bar = 32; // number 還是 string 
  3. foo == bar // 如果 bar 是字符串,它會轉換成 number 
  4. foo === Number(bar) // doing basically the same 
  5. foo === bar //  bar 為 string 則該結果為 false 

(3) null和undefined

使用==時,null和undefined彼此相等。

  1. let foo = null 
  2. let bar = undefined;  
  3. foo == bar // true 
  4. foo === bar // false 

(4) 非原始類型[對象,數組]

不應該使用==或===來比較對象和數組等非原始類型的數據。

決策準則

  • 在所有可以使用的情況下,最好使用==。
  • ==具有已知類型,可以選擇強制類型轉換。
  • 知道類型總比不知道好。
  • 如果不知道類型,就不要使用==。
  • 當類型不匹配時,=== 是沒有意義的。
  • 當類型匹配時,===是不必要的。

避免使用 == 情況

在某些情況下,如果不真正了解JavaScript中的虛值,則不應使用==。

  1. == with 0 or "" or "   " 
  2. == with non primtives 
  3. == true  or  == false 

總結

根據我的經驗,到目前為止,我一直都知道我要處理的變量的類型,如果我不知道,我就使用typeof來只允許我所期望的變量。

需要注意的四點:

  • 如果你不知道變量類型,那么使用===是惟一合理的選擇
  • 不知道類型可能意味著你不理解代碼,請嘗試重構你的代碼
  • 知道類型可以編寫更好的代碼。
  • 如果類型已知,則最好使用==。

原文:

https://domnung.com/article/618194/learning//2020-01-30/medium.com/===-javascript-coercion-types-standing/stop-using-%3D%3D%3D-everywhere

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-03-20 14:35:11

數據分析方法數據

2025-08-18 09:35:02

2020-12-01 11:18:34

對外接口枚舉

2022-10-08 06:49:32

LinuxWindows操作系統

2017-11-20 09:00:43

跳槽職場精英年終獎

2017-07-03 15:04:41

2020-04-03 08:30:44

RabbitMQKafka軟件

2019-11-18 10:05:43

程序員技能開發者

2017-02-09 08:21:04

ARAR游戲

2019-11-18 10:16:37

工程師開發網絡

2020-08-26 08:18:39

數據索引查詢

2010-11-16 10:57:06

OpenSSH開源技術

2009-12-01 13:31:49

2025-04-08 08:25:00

前端埋點線程

2020-06-23 14:52:04

Python無用分號語言

2024-02-19 09:38:58

2013-08-19 11:03:21

微軟谷歌

2022-03-01 07:37:30

MySQL場景框架

2014-12-31 10:33:44

Google 2015

2022-09-06 10:35:29

安全密碼
點贊
收藏

51CTO技術棧公眾號

久久久精品麻豆| 国产另类自拍| 中日韩一级黄色片| 成人精品动漫一区二区三区| 精品女厕一区二区三区| 欧美激情第一页在线观看| 中文字幕91爱爱| 欧美日韩天堂| 国产午夜精品免费一区二区三区| 热久久久久久久久| 美女高潮视频在线看| 国产精品伦理在线| 韩国一区二区三区美女美女秀| 进去里视频在线观看| 欧美深夜福利| 色一情一乱一区二区| 亚洲天堂2024| 中文字幕一区二区人妻在线不卡| 久久影院免费观看| 中日韩免费视频中文字幕| 五月天久久比比资源色| 日韩av图片| 国内爆初菊对白视频| 日韩av一级电影| 欧美极品美女视频网站在线观看免费| 蜜桃无码一区二区三区| 日韩一二三区| 欧美日本一区二区三区四区| 日本a在线免费观看| 午夜老司机在线观看| 99精品久久只有精品| 亚洲a级在线播放观看| 久久久久久无码精品大片| 亚洲私人影院| 久久的精品视频| 亚洲乱码中文字幕综合| 国产精品福利网站| 国产成人无码一区二区三区在线| 91精品成人| 色婷婷av一区二区三区久久| 国产精品无码久久久久一区二区| 亚洲精品国产九九九| 欧美日韩国产123区| 成年人视频在线免费| free性护士videos欧美| 亚洲精品成人在线| 国产又黄又爽免费视频| 在线a免费看| 久久精品欧美一区二区三区不卡| 国产一区免费在线| 六月婷婷综合网| 国产精品自拍网站| 91麻豆桃色免费看| 国产又粗又猛视频| 精品一区二区三区在线播放| 国产日韩综合一区二区性色av| 波多野结衣二区三区| 视频一区欧美日韩| 日本a级片电影一区二区| 久久艹免费视频| 亚洲第一区色| 91国内产香蕉| 久久久久久久久久免费视频| 亚洲人体大胆视频| 欧美一级淫片aaaaaaa视频| 日韩少妇裸体做爰视频| 中文一区在线| 国产精品www网站| 中文无码精品一区二区三区| 久久国产视频网| 96sao精品视频在线观看| 国产jzjzjz丝袜老师水多| 国产成人免费视| 国产九色91| 免费一级在线观看| 国产精品视频一二| 国产精品美女在线播放| 青草影视电视剧免费播放在线观看| 亚洲美女屁股眼交| 玩弄中年熟妇正在播放| 日韩成人av电影| 欧美日韩免费观看一区三区| 中文字幕乱妇无码av在线| silk一区二区三区精品视频 | 久久国产精品偷| 久久国产在线视频| 老司机一区二区三区| 日韩欧美不卡视频| 国产乡下妇女做爰| 米奇精品关键词| 日韩精品视频三区| 一级片久久久久| 一区二区免费不卡在线| 97高清免费视频| 国产99久久久久久免费看| 国产在线精品视频| 韩国成人一区| 久操视频在线观看| 欧美色视频日本高清在线观看| 日本a√在线观看| 日韩成人18| 亚洲午夜av久久乱码| 国产成人免费在线观看视频| 激情亚洲成人| 国产精品视频精品视频| 高清乱码毛片入口| 国产精品久久久久影院| 精品国产免费av| 伊人亚洲精品| 亚洲男人天堂2019| 九九九在线视频| 视频一区二区中文字幕| 翡翠波斯猫1977年美国| 在线视频三区| 高跟丝袜欧美一区| 三级网站免费看| 欧美日韩第一| 91精品国产91久久久久久| 91禁在线观看| www..com久久爱| 糖心vlog在线免费观看| 草莓视频成人appios| 精品成人一区二区三区| 蜜桃视频最新网址| 亚洲欧美日韩在线观看a三区| 97免费资源站| 麻豆影院在线| 日本道精品一区二区三区| 国产十八熟妇av成人一区| 五月综合激情| 国产精品美女久久久久久免费 | 看片的网站亚洲| 欧美xxxx黑人又粗又长密月| ririsao久久精品一区| 91麻豆精品91久久久久同性| 中文字幕在线观看免费高清| 亚洲一区二区网站| 狠狠色综合一区二区| 欧美韩日亚洲| 日韩欧美久久一区| 99视频只有精品| 精品在线视频一区| 亚洲日本无吗高清不卡| 性感美女一区二区在线观看| 日韩成人在线网站| 国产成人愉拍精品久久| av中文字幕在线不卡| 国产免费一区二区视频| 亚洲综合影院| 久久久伊人欧美| 蜜桃91麻豆精品一二三区| 亚洲精品免费一二三区| 爱情岛论坛亚洲自拍| 综合视频在线| 豆国产97在线| 国产777精品精品热热热一区二区| 精品久久99ma| 欧美日韩精品区| 91亚洲国产成人精品一区二三| 91黄色在线看| 老牛精品亚洲成av人片| 91干在线观看| 国产乱视频在线观看| 欧美日韩电影在线播放| 九九精品视频免费| 国产精品影视网| 免费人成自慰网站| 亚洲欧洲av| 国产精品极品美女在线观看免费| av在线电影播放| 在线成人高清不卡| 激情五月婷婷小说| caoporn国产精品| 成年人观看网站| 日韩精品四区| 99久久精品免费看国产一区二区三区| 久草免费在线色站| 亚洲精品色婷婷福利天堂| 亚洲成熟少妇视频在线观看| 中文字幕精品一区二区三区精品| 三区视频在线观看| 亚洲国产专区校园欧美| 欧美极品一区| 成人污污www网站免费丝瓜| 久久久久久一区二区三区 | 日韩视频免费在线观看| 精品久久久久久亚洲综合网站 | 久久蜜桃av一区二区天堂| 午夜国产一区二区三区| 国产精品av一区二区| 免费看成人片| 成人短视频软件网站大全app| 色综合久久悠悠| 可以免费看污视频的网站在线| 欧美另类一区二区三区| 日韩少妇高潮抽搐| 亚洲欧洲在线观看av| 亚洲综合自拍网| 久久国产成人午夜av影院| 人妻无码久久一区二区三区免费| 精品久久久久久久久久久下田| 亚洲xxxx18| 欧美日韩免费看片| 欧美激情女人20p| 91在线直播| 亚洲国产免费av| 国产美女无遮挡永久免费| 疯狂做受xxxx高潮欧美日本| 天海翼在线视频| 久久精品网站免费观看| wwwxxxx在线观看| 美女看a上一区| 每日在线观看av| 91不卡在线观看| 日韩一二三区不卡在线视频| 另类尿喷潮videofree| 91精品国产综合久久香蕉| 竹内纱里奈兽皇系列在线观看| 欧美乱大交xxxxx另类电影| www.在线视频.com| 日韩精品免费在线播放| 亚洲精品喷潮一区二区三区| 欧美日韩在线免费视频| 岛国视频一区免费观看| 国产偷国产偷亚洲高清97cao| 三区精品视频观看| 亚洲精品成av人片天堂无码 | 黄网站免费在线播放| 日韩久久午夜影院| 精品国自产拍在线观看| 欧美男男青年gay1069videost | 国内精品伊人久久久久av一坑 | 日韩不卡一二区| 欧美丰满日韩| 亚洲一区二区精品在线观看| 国产精品一区高清| 欧美性天天影院| 西野翔中文久久精品国产| 国产精品日韩高清| 51亚洲精品| 国产精华一区| 亚洲午夜精品| αv一区二区三区| 日韩一二三区| 岛国视频一区| 久久久久观看| 久久久久一区二区三区| 欧美中文一区| 免费在线观看一区二区| 九九热精品视频在线观看| 欧美日本韩国一区二区三区| 日韩成人动漫在线观看| 久久婷婷开心| 蜜乳av综合| 日韩激情视频| 久久综合av| 国产系列第一页| 欧美.日韩.国产.一区.二区| 伊人久久在线观看| 国产精品久久| 无码中文字幕色专区| 国产亚洲精品v| 日韩av在线综合| 美女视频网站久久| 少妇愉情理伦片bd| 成人午夜视频网站| 黄色录像a级片| 国产亚洲欧美在线| 国产黄色片在线| 亚洲品质自拍视频网站| 久久高清无码视频| 精品美女国产在线| 五月激情丁香网| 欧美一区二区三区白人| 人妻va精品va欧美va| 日韩成人av网址| 成人午夜影视| 欧美精品在线免费观看| av毛片午夜不卡高**水| 国产精品黄页免费高清在线观看| 日韩欧美激情| 国产精品视频免费一区| 国产99精品| 樱空桃在线播放| 国产日韩欧美| 中文字幕视频三区| 99精品久久久久久| 91n在线视频| 婷婷亚洲久悠悠色悠在线播放| 久久久久女人精品毛片九一| 欧美精品亚洲二区| 四虎精品一区二区三区| 最新国产精品亚洲| 超碰在线最新网址| 国产精品video| www.国产精品一区| 亚洲免费在线精品一区| 99国产精品| 看看黄色一级片| 久久色视频免费观看| 激情小说中文字幕| 欧美三级一区二区| 日韩在线一区二区三区四区| 色噜噜久久综合伊人一本| av最新在线| 亚洲xxxx做受欧美| av伊人久久| 国产日韩av网站| 国产另类ts人妖一区二区| 欧美成人国产精品一区二区| 亚洲电影一区二区三区| 国产精品免费无遮挡| 日韩激情av在线免费观看| 26uuu亚洲电影在线观看| 国产成人福利网站| 老司机凹凸av亚洲导航| 日韩中文字幕在线不卡| 青青草伊人久久| 亚洲一区二区三区无码久久| 亚洲女与黑人做爰| 中文字幕第一页在线播放| 亚洲国产精品免费| 日本一本在线免费福利| 成人久久久久爱| 日韩av二区| av观看免费在线| 9i在线看片成人免费| www青青草原| 91精品国产91久久久久久最新毛片| 免费黄网站在线观看| 97视频免费观看| 超碰在线一区| 免费极品av一视觉盛宴| 狠狠色丁香久久婷婷综| www.日本高清视频| 91久久精品一区二区| 蜜芽tv福利在线视频| 97超级碰在线看视频免费在线看| 亚洲无线观看| 亚洲国产精品无码观看久久| 高清不卡在线观看av| 精品无码av在线| 精品国产网站在线观看| 七七成人影院| 国产91免费视频| 亚洲手机在线| a天堂视频在线观看| 亚洲成av人片| 少妇av在线播放| 97在线视频免费观看| 欧美顶级毛片在线播放| 免费看一级大黄情大片| 91免费在线视频观看| 亚洲欧美一二三区| 在线观看久久av| 青娱乐极品盛宴一区二区| 影音先锋欧美在线| 激情综合色播五月| 中文字幕手机在线观看| 精品日韩一区二区三区| 岛国av在线网站| 欧美一区二区三区在线播放| 日韩av网站在线观看| 中文字幕第69页| 91精品国产欧美日韩| 男人天堂亚洲| 精品无人乱码一区二区三区的优势| 国产欧美亚洲一区| 精品欧美一区二区久久久| 欧美三区免费完整视频在线观看| 在线观看免费版| 91在线播放视频| 国产亚洲永久域名| 人人妻人人澡人人爽| 欧美一级日韩一级| 波多野一区二区| 亚洲国产综合自拍| 国产一区二区调教| 福利一区二区三区四区| 亚洲欧美制服中文字幕| 亚洲国产91视频| 亚洲国产精品无码观看久久| 国产欧美日产一区| www.桃色av嫩草.com| 欧美在线视频a| 99成人在线视频| 国产黑丝在线观看| 欧美系列日韩一区| 女子免费在线观看视频www| 欧美福利一区二区三区| 黄页网站大全一区二区| 久久久国产精品成人免费| 精品精品国产国产自在线| 国产精品一线| 五月激情五月婷婷| 欧美日韩国产中字| caopeng在线| 日本一区视频在线观看免费| 国产成人av一区二区三区在线 | 国内外成人在线视频|