看板 Programming 關於我們 聯絡資訊
不是很確定你看的是哪一本書 不過在 Programming language 的定義上是這樣: 型別檢查 (type checking): 檢查變數的型別,避免對變數做出不符合其型別的操作 (ex 使用不合法的運算或取用不存在的物件成員) 強型別 (strong type-checking): compiler / interpreter 永遠會進行型別檢查,目前大部分主流程式語言都屬於強型別,包括 Java、C#、Python、JavaScript 弱型別 (weak type-checking): compiler / interpreter 允許在某些情況下略過型別檢查,可能會造成未定義行為 (undefined behavior),如 assembly、C/C++ 靜態型別 (static type-checking): 在 compile-time 進行型別檢查,如 Java、C# 動態型別 (dynamic type-checking): 在 runtime 進行型別檢查,如 Python、JavaScript 許多靜態型別語言仍然會保留部分動態型別的特性,比如說 RTTI 或是 reflection 都算是動態型別檢查的應用。 ----- Sent from JPTT on my Sony F8332. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.32.97 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1484899664.A.8FC.html
j18382: Nice,不過Javascript應該是屬於弱型別喔( 114.47.60.57 02/19 08:27
j18382: 經測試1+"2"可以成立)。記得Java再某些特 114.47.60.57 02/19 08:28
j18382: 定情況也像C一樣會自動轉換 114.47.60.57 02/19 08:29
j18382: (Java在維基同時標記為強行別和弱行別) 114.47.60.57 02/19 08:31
littleshan: 強與弱並不是用是否自動轉換來區分的 114.25.245.23 03/04 02:11
littleshan: 而是「有沒有做型別檢查」 114.25.245.23 03/04 02:12
littleshan: 請參考拙作 https://goo.gl/Hxe6WI 114.25.245.23 03/04 02:13
j18382: 在推一次,我覺得以自動轉換比較好辨別XD 36.226.104.153 03/31 18:39
j18382: 案自己對編/直譯器了解,不可能對資料型 36.226.104.153 03/31 18:39
CoNsTaR: 如果是有規則的自動轉換還是算強型別,如 180.204.65.245 04/02 13:16
CoNsTaR: 果是沒規定的隨便轉才算是弱型別 180.204.65.245 04/02 13:16