摘要:隱式強制類型轉(zhuǎn)換隱式強制類型轉(zhuǎn)換指的是一些特殊的操作的副作用來實現(xiàn)類型轉(zhuǎn)換,而非和等函數(shù)來實現(xiàn)值的類型轉(zhuǎn)換。下面幾種情況會發(fā)生布爾值的強制類型轉(zhuǎn)換語句中的天健判斷表達式。
引言
來到北京已經(jīng)有4個年頭了,做過一些測試、打雜、前端的工作之后,最后還是選擇了前端的工作?,F(xiàn)階段主要還是在寫業(yè)務(wù)代碼,代碼質(zhì)量,工作效率就顯得尤為重要?!緦W以致用】這個系列主要記錄一些平時工作、學習遇到的一些問題,方便以后查漏補缺。
value 顯示強制類型轉(zhuǎn)換最新的 ECMAScript 標準定義了 7 種數(shù)據(jù)類型:
6 種原始類型:
Boolean
Null
Undefined
Number
String
Symbol (ECMAScript 6 新定義)
和
Object
通常我們在工作的時候需要和后臺對接,函數(shù)在處理返回值的時候如果做了容錯判斷,把數(shù)據(jù)轉(zhuǎn)換成我們想要的類型,在編寫后續(xù)業(yè)務(wù)代碼的時候就會更加輕松 :-D
下圖是 《JavaScript權(quán)威指南》中關(guān)于類型轉(zhuǎn)換的總結(jié):
舉個栗子:后臺返回值為一個字符串,內(nèi)容是0 ~ 5的數(shù)字,現(xiàn)在使用的時候需要將參數(shù)轉(zhuǎn)化為數(shù)字類型。
// wrong return Number(value) // "" -> 0 // undefined -> NaN // "aaa" -> NaN // right 前面是剔除掉 "" undefined ,后面可以剔除掉 NaN 的類型 if (value && Number(value) >= 0) { return Number(value); } else { return null; }
關(guān)于值的比較,當我們只關(guān)心值是否正常時,還有一個比較靠譜的方法:正則表達式,上面的例子也可以這樣來寫:
if (/[0-5]/.test(value)) { return Number(value); } else { return null; }
小結(jié):在判斷兩個值是否相等時,最好顯式的轉(zhuǎn)化,讓代碼更加清晰易讀,然后用全等運算符 === 或者 !== 來比較。
隱式強制類型轉(zhuǎn)換隱式強制類型轉(zhuǎn)換指的是一些特殊的操作的副作用來實現(xiàn)類型轉(zhuǎn)換,而非 Number() 和 String() 等函數(shù)來實現(xiàn)值的類型轉(zhuǎn)換。隱式強制類型轉(zhuǎn)換通常會使代碼更加簡潔,但同時也增加了代碼的理解難度,我們編寫的代碼大都是給別人看的,要考慮到大家的理解是否保持一致。
數(shù)字和字符串的轉(zhuǎn)換,個人習慣是使用顯示的轉(zhuǎn)換,這里不再贅述。
ToBoolean下面幾種情況會發(fā)生布爾值的強制類型轉(zhuǎn)換:
if (..) 語句中的天健判斷表達式。
for (.. ; .. ; ..) 語句中的條件判斷表達式。
while (..) 循環(huán)中的條件判斷表達式。
? : 中的條件判斷表達式
|| 和 && 的做操作數(shù)
而 switch 語句使用的是全等判斷,不會發(fā)生隱式的強制轉(zhuǎn)換。
轉(zhuǎn)換的結(jié)果可以參照上面的表格,或者下面的鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103513.html
摘要:下面分幾步來簡單的探探不同類型的轉(zhuǎn)換吧以下的內(nèi)容,都可以從權(quán)威指南中找到。其他值轉(zhuǎn)換成在編寫代碼的過程中,幾乎不用考慮它的取值類型。核心內(nèi)置類,會嘗試先于可以理解為對象優(yōu)先轉(zhuǎn)換成數(shù)字例外的是,利用的是轉(zhuǎn)換。 最近在寫公司的登錄注冊模塊,遇到類型不同相比較的時候,就心驚膽戰(zhàn),每次都要用瀏覽器來驗證一下,決定亂七八糟的隨便寫一下,方便日后自己回顧知識~ 弱類型帶來的那些讓人迷糊的事 弱類型...
摘要:聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。浮點類型表示包含小數(shù)部分。浮點類型所占的空間是整數(shù)類型的兩倍。 原始類型 原始類型,又稱原始值,是直接代表JavaScript語言實現(xiàn)的最底層數(shù)據(jù)。原始類型分為 boolean類型、number類型、string類型三種。聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。 ...
摘要:第十七天筆記類型轉(zhuǎn)換隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是弱類型松散類型的在任何情況下都可以強制轉(zhuǎn)換定義類型類型以及類型的變量臥龍前端轉(zhuǎn)換為類型轉(zhuǎn)換為類型類型轉(zhuǎn)換為類型如果文本內(nèi)容是普通的文本非數(shù)字轉(zhuǎn)換后的結(jié)果為如果文本內(nèi)容是數(shù)字值轉(zhuǎn)換后的結(jié)果為對 第十七天筆記 類型轉(zhuǎn)換 隱式類型轉(zhuǎn)換 隱式類型轉(zhuǎn)換 JavaScript是弱類型/松散類型的 在任何情況下都可以強制轉(zhuǎn)換 //定義number類型 s...
摘要:返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。布爾值中布爾值有兩個和和都表示值的空缺,但事從背后更深遠的角度考慮,他們的還是有差別的。首先我們來看一下類型轉(zhuǎn)化表任意的值都可以轉(zhuǎn)換為布爾值,只有會被轉(zhuǎn)換為,其他所有值都會被轉(zhuǎn)換成。 開辟了一個關(guān)于javascript的基礎(chǔ)系列,更加深入、細致的了解這門語言。今天分享的是js的數(shù)據(jù)類型。 javascript的數(shù)據(jù)類型可以分為兩類:原始類...
摘要:基本值原始值原始的布爾類型有兩個值和。創(chuàng)建布爾值的方式直接用字面量用函數(shù),將其他任意值轉(zhuǎn)換成對應的原始布爾值。使用兩次非運算符,將其轉(zhuǎn)換成對應的布爾類型。下面來看一些將其他類型轉(zhuǎn)換成布爾類型的例子。 基本值(原始值) 原始的布爾類型boolean有兩個值: false 和 true。 > typeof false boolean > typeof true boolean 創(chuàng)建布爾值的...
閱讀 3291·2021-11-18 10:02
閱讀 3454·2021-10-11 10:58
閱讀 3384·2021-09-24 09:47
閱讀 1131·2021-09-22 15:21
閱讀 3963·2021-09-10 11:10
閱讀 3285·2021-09-03 10:28
閱讀 1756·2019-08-30 15:45
閱讀 2150·2019-08-30 14:22