天天看點

JavaScript 原始資料類型轉換

Js基礎資料類型有7種:

  • 原始資料類型(6種)
    • number (數值)
    • string (字元串)
    • boolean (布爾)
    • null (空對象, typeof 檢測為object)
    • undefine(未定義)
    • symbol (符号類型)
  • 對象資料類型(1種)
    • object(對象類型)
補充:
  • NaN

    表示 not a number;
  • function

    本質為 object, 但由于其特殊的地位, typeof會檢測為 function;
  • symbol

    為ECMAScript6 新定義的資料類型, 符号類型是唯一的并且是不可修改的, 并且也可以用來作為Object的key的值

轉換為字元串

  • .toString()

    無法将null, undefine轉為字元串
  • String()

    可以将null, undefine轉為字元串
// 變量已經被指派
console.log("變量已經被指派的情況:");
(function test01(){
    var name = "zhaozhao";
    console.log(String(name))
    console.log(name.toString())
})();

// 變量沒有被指派
console.log("變量沒有被指派的情況:");
(function test02(){
    var name;
    console.log(String(name))
    console.log(name.toString())
})();

           
運作結果

轉換為數值

  • parseInt()

    強轉為整數
// 強轉為整數
console.log("====")
console.log(parseInt("100")); // 100
console.log(parseInt("100zhaozhao")); // 100
console.log(parseInt("zhaozhao100")); // NaN
console.log(parseInt("100zhaozhao100")); // 100
console.log(parseInt("100.18zhaozhao")); // 100
           
  • parseFloat()

    轉為浮點數(不會把整數轉換為浮點數)
// 轉為浮點數(不會把整數轉換為浮點數)
console.log("====")
console.log(parseFloat("100")); // 100
console.log(parseFloat("100zhaozhao")); // 100
console.log(parseFloat("zhaozhao100")); // NaN
console.log(parseFloat("100zhaozhao100")); // 100
console.log(parseFloat("100.18")); // 100.18
console.log(parseFloat("100.18zhaozhao")); // 100.18
           
  • Number()

    轉換為數值, 較嚴格
// 轉換為數值
console.log("====")
console.log(Number("100")); // 100
console.log(Number("100zhaozhao")); // NaN
console.log(Number("zhaozhao100")); // NaN
console.log(Number("100zhaozhao100")); // NaN
console.log(Number("100.18")); // 100.18
console.log(Number("100.18zhaozhao")); // NaN 
           

轉換為布爾

// 布爾類型的轉換
// 除零以外的數字, 非空字元串 都為 true
console.log(Boolean(1))
console.log(Boolean(-1))
console.log(Boolean("哈哈"))
// 0 ,空字元串, null, undefined都為false
console.log("====")
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))
console.log(Boolean(undefined))
           
快速擷取boolean值的小技巧: 在變量前添加

2個!

,示例

!!("zhaozhao") === true;

!!("") === false

快速擷取boolean

Chrome控制台字型大小控制:

- 字型變大:

command

+

+

- 字型變小:

command

-

(windows把

command

轉為

ctrl

即可)

繼續閱讀