大致上了解了宣告(var、let、const)用法以後,我們要注意的是宣告的變數類型,因為變數能儲存的樣式有非常多種,若是概念懵懵懂懂的話,寫程式時碰上不同的數據類型比較或相加時,就會出現大問題,所以我們來一一看看有哪些吧!
var weight = 76; // 宣告數字
var state = true; //宣告布林值
var name = "Jason"; // 宣告字串
var color = ["red", "blue", "yellow"]; // 陣列
var person = { name: "leo", number: "23" }; // 物件
變數類型可以儲存數字、布林值、數值、字串、陣列、物件,各種不同的類型。
而當不同的數據類型,會發生甚麼事?這時候就是我們必須去理解的!下面這個例子:
var x = 184 + "jason";
console.log(x); //"184jason"
當我們數值跟字串相加時,數字會直接被當成字串!
而下面這兩個例子可以讓我們更清楚了解,並且知道式子是由左向右計算的。
var x = 184 + 8 + "jason";
console.log(x); //"192jason"
var y = "jason" + 184 + 8;
console.log(y); //"jason1848"
當我們不知道資料類型時,有個很好的辦法可以判斷變數的類型!
var weight = 76; // 宣告數字
var state = true; //宣告布林值
var name = "Jason"; // 宣告字串
var color = ["red", "blue", "yellow"]; // 陣列
var person = { name: "leo", number: "23" }; // 物件
console.log(typeof weight); //number
console.log(typeof state); //boolean
console.log(typeof name); //string
console.log(typeof color); //object
console.log(typeof person); //object
這邊有一個要特別注意的點!就是陣列判斷出來也是object,Javascript中陣列屬於物件。
那今天我們宣告了一個變數,但沒有他數值類型呢?
var username;
console.log(typeof username); //Undefined
這時候會會印出Undefined,跟空值Null是不同的喔!
null是空值,代表不存在的數值,可要注意的是,當我們用typeof來看null時,他會返回object物件。
var person = null;
console.log(typeof person); //object
因為回傳的是object物件,所以要清空值時,要非常小心的使用null。當然,以防萬一你可以使用Undefined來清空。
Javascript的數據類型差不多就到這了,下一篇我們要介紹函數的用法!