资料型态
在前一天我们已经了解到变数的概念,而资料型态指的是变数中存放的是哪一种类型的资料,例如数字、文字 ( 字串 ) 等,而在 JavaScript 中,资料主要分为两大类 —— 基本资料型态和複合资料型态。
基本资料型态
numbers 数字 — 任何纯数字类型的值,包含整数、小数、负数,例如:0
、3.14
、-3
等
let a = 1;let b =3.14159;
除了常规的数字之外,也有几个特殊的的值也归类在数字中,例如 NaN
、Infinity
、-Infinity
。他们虽然看起来不是数字,但却是属于 numbers 型别。
NaN (Not a Number) 指本身是数字型态但却不是数字的数,也就是一个无效的数字,基本上属于错误的状态,常会出现于转换型态发生错误时。例如硬要把字串
'abc123'
转换为数字时,因为含有 abc 字符造成转换失败,所以会变成 NaN。Infinity表示数学上的正无限大,不需要用引号包裹,若外面含有引号则会变成单纯的字串。-Infinity
表示数学上的负无限大。
string 字串 — 以单引号或双引号包裹的任何一段字符组合,例如:”你好”
、”Hello World!”
、“11234r5”
等。
在字串中 '
和 "
无法混用,以单引号开头就要以单引号结尾,例如 'abc"
会出现错误,除此之外 '
和 "
可包含空格但无法跨行。
let c = 'Hello World!'; // 变数 c 的值为 Hello World! 字串let d = "1234"; // 只要在单引号或双引号内的字符皆为字串
boolean 布林 — 只包含两种值,true
和 false
Boolean 中只有 true 和 false,通常会用来配合运算子进行逻辑运算或判断。
let login = true;
undefined 未定义 — 是一个特殊型态,表示变数还没有定义或找不到
let x;console.log(x); // 此时变数 x 为 undefined
null 空值 — 表示变数为空,虽然已经定义了,但里面没有任何值
複合资料型态
複合资料型态分为两种 — 阵列和物件,这两种资料型态较为複杂,所以在这边我们先初步介绍他的定义,后面再慢慢了解延伸的用法和相关函数。
array 阵列 — 用来储存多个变数,以中括号包裹多个数组,并以逗号区隔,例如:[1, 2, 3]
及 [”123”, “你好”, “hello”]
。
阵列的使用有点像把很多变数放在一个组合中,避免出现我们需要新增很多变数的情况,例如若我们需要运算出一整班 20 个学生的平均成绩,若要新增 20 个变数再做运算会花费很多时间。这时候我们就可以将所有学生的成绩放进阵列中,再进行运算。
object 物件 — 与阵列相同,物件也是为了解决需要新增多个变数的问题,只是物件的资料更複杂,属于 { key: value }
的组合,例如:{ “小王”: 90, “小张”: 100 }
。
如何判断变数的型态 — typeof
不像一些强型别的程式语言,JavaScript 属于动态型别语言,也就是说我们在宣告一个变数时不需要预先指定他的型态,浏览器会根据你的值自动帮你匹配一个合适的型态。若我们需要确认一个变数的资料型态为何,可以使用 typeof(变数)
。
範例
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>JavaScript 小练习</title> </head><body> <script> const age = 18; // 数字型态的变数 const name = "小明"; console.log(typeof(age)); // typeof 中写变数名称 console.log(typeof(name)); console.log(typeof(123)); // 或者 typeof 中写值也可以 </script> </body></html>
上一篇:[快速入门前端 37] JavaScript:变数和常数
下一篇:[快速入门前端 39] JavaScript:资料型态 (2) 强制转换资料型态
系列文章列表:[快速入门前端] 系列文章索引列表