跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset : 型別(type)
Published in
2 min readNov 20, 2019
型別
和值
是一個程式語言很重要的基石,
我們期待 “42”
、42
兩者表現會有不同,
前者我們期望他有字串
的特性可以使用,
後者我們常用於數字
運算的特性。
這也就是為什麼我們程式撰寫中,很重視基礎的型別和值。
而程式語言中,有兩種常見的特性:
1. 強型別語言
2. 弱型別語言
對於兩者的定義,各種地方都有不同的意見,
在此定義參考 Kyle Simpson ,
我們透過使用變數的時機,來決定是強/弱型別語言。
也就是說,如果一個變數,在宣告的時候指定型別
,
那麼,我們說他是一個「強型別語言」。
如果一個變數,宣告的時候不能(或不需要)
指定型別,
那麼,我們說他是一個「弱型別語言」。
註:
這邊要小心幾個名詞:
1. 型別、值
2. 變數
這兩者是完全沒有關係的。
除非有透過實際程式行為,才有可能有關係。
如:
1.宣告
一個變數
,給予初始值
2.宣告
一個有型別
的變數
3.宣告
一個有型別
的變數
,並給予初始值
然而, 型別、值 是關係非常密切的,
如:
1.“42”
: 值為“42”
,型別
根據值的特性為字串
2.42
: 值為42
,型別
根據值的特性為數字
至於 JavaScript 中的特性,可以參考我鐵人賽的文章或是 YDKJS 。
小結:
最基礎的部分總是很多人會忽略的部分,
因為這些基礎可能有學過「類似的」,
但正因為有類似的經驗,才會造成更多誤解或是錯誤,
期許讀者,若有機會(時間),
JavaScript 的基礎屬於 JavaScript ,不要 透過其他語言來學習 JavaScript 。