笔记:隐式转换规则
學(xué)習(xí)并背誦全文
原始值
| 值 | undefined | null | 所有字符串 | true false | 所有數(shù)字/NaN |
引用類型
Object的成員叫對(duì)象,包括Array,Function,Math,Date,JSON,RegExp等除了原始值之外的所有的類型的成員。
valueOf / toString
| valueOf | 原始值 | 原始值 | 原始值 | 原始值 | 毫秒時(shí)間戳 | 原始值 | string |
| toString | [Object Object] | 原始值 | join方法返回的結(jié)果 | 數(shù)字字符串 | 本地時(shí)間字符串 | 'true'/'false' | string |
Boolean(x)
| Boolean(X) = true | - | - | 非空字符串 | true | 非0 非NaN | 所有 |
| Boolean(X) = false | undefined | null | 空字符串 | false | 0 NaN |
Number(x)
| Number(X) = number | - | - | 全為數(shù)字 | - | 原樣返回 | desc: 先調(diào)用valueOf再轉(zhuǎn)換為Number |
| Number(X) = 0 | - | null | '0' | false | 0 | - |
| Number(X) = 1 | - | - | '1' | true | 1 | - |
| Number(X) = NaN | undefined | - | 包含數(shù)字之外的字符 | - | NaN | - |
String(x)
| String(x) | 'undefined' | 'null' | 原樣返回 | 'true'/'false' | toString結(jié)果 | 先轉(zhuǎn)為原始值,然后調(diào)用toString |
Object(x)
| Object(x) | {} | {} | 原始值為X的Boolean對(duì)象 | 原始值為X的Number對(duì)象 | 原始值為X的String對(duì)象 | 原值輸出 |
場(chǎng)景
轉(zhuǎn)換為Number
- 一元 , - 運(yùn)算符
-
, -- 運(yùn)算符
-
, -, *, /, % 計(jì)算
需要注意的是,當(dāng) 計(jì)算有字符串參與計(jì)算時(shí),會(huì)轉(zhuǎn)換為字符串。
-
>, <, >=, <= 比較運(yùn)算符, 操作數(shù)都不是String類型時(shí)
-
==, != 操作數(shù)中只有String類型和Number類型,或者其中有一個(gè)是Boolean
轉(zhuǎn)換為Boolean
- && ! || 運(yùn)算
- 條件運(yùn)算
- if, while, do-while, for
轉(zhuǎn)換為String
- 號(hào)運(yùn)算,其中一個(gè)操作符為字符串
- 比較運(yùn)算,其中一個(gè)操作符為字符串
更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com
總結(jié)
- 上一篇: 数据可视化的基本原理——视觉通道
- 下一篇: 一道面试题目引发的思考