module1 01 JS資料型別

2022-07-10 04:21:10 字數 2544 閱讀 8236

接下來圍繞概念檢測方法轉換方法進行講解

複雜資料型別為object,且包括其之下的型別

② 漸入佳境

複雜資料型別中,除了function,其他都是無法直接使用typeof判斷出來的

如果其中一方是symbol,則返回false

如果兩個操作符是number和string,則轉換為number

如果其中乙個是boolean,則轉換成number

如果乙個操作之為object,且另一方為string、nukber、symbol,則把object轉換為原始資料型別再判斷(valueof、tostring)

比如以下結果

null == undefined       // true  規則2

null == 0               // false 規則2

'' == null              // false 規則2

'' == 0                 // true 規則4 字串轉隱式轉換成number之後再對比

'123' == 123            // true 規則4 字串轉隱式轉換成number之後再對比

0 == false              // true e規則 布林型隱式轉換成number之後再對比

1 == true               // true e規則 布林型隱式轉換成number之後再對比

var a =

};// 注意這裡a又可以等於1、2、3

console.log(a == 1 && a == 2 && a ==3);  //true f規則 object隱式轉換

// 注:但是執行過3遍之後,再重新執行a==3或之前的數字就是false,因為value已經加上去了,這裡需要注意一下

② +如果其中乙個是numebr,另外乙個是undefined、null、boolean或number,則呼叫number()並進行加法運算,物件、陣列、正則跟上一樣

如果其中乙個是字串、乙個是數字則按照字串拼接規則

比如以下結果

1 + 2        // 3  常規情況

'1' + '2'    // '12' 常規情況

// 下面看一下特殊情況

'1' + undefined   // "1undefined" 規則1,undefined轉換字串

'1' + null        // "1null" 規則1,null轉換字串

'1' + true        // "1true" 規則1,true轉換字串

'1' + 1n          // '11' 比較特殊字串和bigint相加,bigint轉換為字串

1 + undefined     // nan 規則2,undefined轉換數字相加nan

1 + null          // 1   規則2,null轉換為0

1 + true          // 2   規則2,true轉換為1,二者相加為2

1 + 1n            // 錯誤 不能把bigint和number型別直接混合相加

'1' + 3           // '13' 規則3,字串拼接

js資料型別

一.原始資料型別 1.typeof 運算子。var a alert typeof a 輸出結果為 undefined 2.undefined 未定義 型別 當變數未定義時,該變數值被預設為undefined 如 var a alert typeof a 輸出結果為 undefined 注意值unde...

js資料型別

js 基本資料型別 undefined null boolean number string js 操作符 typeof檢測給定變數的資料型別。返回值表示的型別 undefined 值未定義。boolean 值為布林型別。string 值為字串。number 值為數字。object 值為物件或nul...

js資料型別

var num 1,boo true,aa null,bb,str mary arr 1,2,4,8 obj arrnew new array 1,2,3 strnew new string 1,2,3 用 typeof 檢測變數的型別 console.log number typeof num n...