數(shù)據(jù)類型及轉(zhuǎn)換

原始值(基本數(shù)據(jù)類型)存儲(chǔ)位置:stack棧數(shù)據(jù) 容器內(nèi)容不可變

Number 數(shù)字類型 :整數(shù) 浮點(diǎn)數(shù)
  • 數(shù)字最大值
    Number.MAX_VALUE 輸出 1.7976931348623157e+308
    若超過(guò)最大值則 輸出 infinity -infinity
  • NaN
  • 數(shù)字最小值
    Number.MIN_VALUE 輸出 5e-324
String 字符串:" 內(nèi)容" 或 '內(nèi)容'
  • "表示 " 、\n 表示換行、\t表示制表符tab、\\ 表示 \
boolean 布爾:true false
Underfined 未定義:未初始化,未知類型
null 空,占位符:null
  • typeof返回值object

引用值(引用數(shù)據(jù)類型) 存儲(chǔ)位置:heap堆數(shù)據(jù) ,賦值過(guò)去的是地址(容器),push后內(nèi)容會(huì)變

object 對(duì)象:各種值組成的集合
ES6 新增了Symbol

強(qiáng)制類型轉(zhuǎn)換

其他數(shù)據(jù)類型轉(zhuǎn)換為string

方法一:調(diào)用被轉(zhuǎn)換數(shù)據(jù)類型的toString()方法

  • 格式:被轉(zhuǎn)換數(shù)據(jù)類型.toString();
  • 但是null dundefined沒(méi)有toString方法,如果調(diào)用會(huì)報(bào)錯(cuò)
  • 不會(huì)影響原變量,會(huì)將轉(zhuǎn)換的結(jié)果返回

方法二:調(diào)用String()函數(shù),并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)

  • 格式: String();
  • 對(duì)于null和undefined ,直接轉(zhuǎn)換為字符串"null" ,字符串"undefined"
    方法三:'' "" 本質(zhì)調(diào)用了String()函數(shù)
其他數(shù)據(jù)類型轉(zhuǎn)換為number
  • 在JS中如果需要表示16進(jìn)制的數(shù)字,需要以0x開(kāi)頭。
    如果表示8進(jìn)制的數(shù)字,需要以0開(kāi)頭。
    如果要表示2進(jìn)制的數(shù)字,需要以0b開(kāi)頭(不是所以瀏覽器都支持,不推薦)
  • 注意: 空串 空格 = 0
    -不僅僅是數(shù)值 = NaN
    true=1 false=0 null=0
    undefined=NaN
    方式一:調(diào)用Number();函數(shù)
    方式二:使用+ -,本質(zhì)是調(diào)用Number函數(shù),但是會(huì)改變數(shù)值的正負(fù)性
    方式三:可以通過(guò)parseInt(需要轉(zhuǎn)換的字符串)/parseFloat(需要轉(zhuǎn)換的字符串)parseInt/parseFloat都會(huì)從左至右的提取數(shù)值, 一旦遇到非數(shù)值就會(huì)立即停止, 停止的時(shí)候如何還沒(méi)有提取到數(shù)值, 那么就返回NaN,parseInt/parseFloat都會(huì)將傳入的數(shù)據(jù)當(dāng)做字符串來(lái)處理
        let value = true;
        // let num = Number(value);
        // let num = +value;
        let num = parseInt(value); // parseInt("true");
        console.log(num);
        console.log(typeof num);

例如


parseInt(a,10); 將x轉(zhuǎn)換為10進(jìn)制。
其他數(shù)據(jù)類型轉(zhuǎn)換為Boolean,調(diào)用Boolean函數(shù)

1.將String類型轉(zhuǎn)換為布爾類型
只要字符串中有內(nèi)容都會(huì)轉(zhuǎn)換為true, 只有字符串中沒(méi)有內(nèi)容才會(huì)轉(zhuǎn)換為false

2.將Number類型轉(zhuǎn)換為布爾類型
只有數(shù)值是0才會(huì)轉(zhuǎn)換為false, 其它的都會(huì)轉(zhuǎn)換為true
如果是NaN也會(huì)轉(zhuǎn)換為false

3.將undefined類型轉(zhuǎn)換為布爾類型
undefined會(huì)轉(zhuǎn)換為false

4.將null類型轉(zhuǎn)換為布爾類型 null會(huì)轉(zhuǎn)換為false

5.空字符串/0/NaN/undefined/null 會(huì)轉(zhuǎn)換成false, 其它的都是true

6.對(duì)象 也是 true

例如
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容