iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
Modern Web

前端網頁設計學習旅程系列 第 14

D14_Javascript-data types and data structures

  • 分享至 

  • xImage
  •  

Javascript是一種弱型別,或是說動態型別語言
參數型態可以動態調整,舉例來說

let foo = 42;    // foo is now a number
foo     = 'bar'; // foo is now a string
foo     = true;  // foo is now a boolean

Primitive

除此之外,Javascript提供以下幾種常見的原始資料型別
String for the string primitive.
Number for the number primitive.
Boolean for the boolean primitive.

由於Javascript的原始資料型別跟其他語言非常類似,就不特別介紹
說明幾個比較特別的部分

相等比較

第一個就是一般等於(雙等於)及嚴格等於(三等於)的比較
參考資料:https://felix-kling.de/js-loose-comparison/

嚴格等於(===)

1、如果型別不同,就[不相等]
2、如果兩個都是數值,並且是同一個值,那麼[相等];
3、如果兩個都是字串,每個位置的字元都一樣,那麼[相等];否則[不相等]。
4、如果兩個值都是true,或者都是false,那麼[相等]。
5、如果兩個值都引用同一個物件或函式,那麼[相等];否則[不相等]。
6、如果兩個值都是null,或者都是undefined,那麼[相等]。

一般等於(==)

1、如果兩個值型別相同,進行 === 比較。
2、如果兩個值型別不同,他們可能相等。根據下面規則進行型別轉換再比較:
a、如果一個是null、一個是undefined,那麼[相等]。
b、如果一個是字串,一個是數值,把字串轉換成數值再進行比較。
c、如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
d、如果一個是物件,另一個是數值或字串,把物件轉換成基礎型別的值再比較。
e、任何其他組合,都[不相等]。

Null & undefined

另外一種特別的資料型態是null & undefined

undefined

undefined比較容易解釋,只要一個變數在初始的時候未給予任何值的時候,就會產生 undefined

var a;   
console.log(a);   
// print : undefined

null

變數要經過宣告,賦予 null ,才會形成 null 型態

var b=null;
console.log(b);
// print : null

上一篇
Day13_CSS語法-margin&padding
下一篇
Day15_Javascript-Array
系列文
前端網頁設計學習旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言