六角學院 JS 核心筆記 (十二)【運算子、型別與文法】- 動態型別和弱型別
JavaScript 是動態型別、弱型別的語言。
所謂的動態語言,就是在執行的時候,變數才會依照賦予值的型別,來決定變數的型別。因此變數的型別是可以不斷改變的。
而弱型別則是,偏向容忍隱性的型別轉換,但是怎麼轉換是它自己決定。
詳情可以參考之前寫過的這篇:靜態語言 / 動態語言、強型別 / 弱型別、静態作用域 / 動態作用域。以下僅重點提到一些需要注意的觀念。
JavaScript 是動態型別、弱型別的語言。
所謂的動態語言,就是在執行的時候,變數才會依照賦予值的型別,來決定變數的型別。因此變數的型別是可以不斷改變的。
而弱型別則是,偏向容忍隱性的型別轉換,但是怎麼轉換是它自己決定。
詳情可以參考之前寫過的這篇:靜態語言 / 動態語言、強型別 / 弱型別、静態作用域 / 動態作用域。以下僅重點提到一些需要注意的觀念。
ASI 即 Automatic Semicolon Insertion,當程式碼沒有加上分號時,依照 ASI 的規則,自動插入分號。它會帶來一些好處,但是也會造成一些問題。
設計一個實體商品或服務的簡易版本電商網站。主要注重於使用者可以瀏覽網站,了解商品的詳細訊息,並且選擇想要購買的產品,這個簡易版本的電商網站不支持使用者身份驗證 (登入或註冊) 或付款。
Statement 陳述式:主要在陳述一些命令,做一些事情,但是不回傳結果。
Expression 表達式:主要透過符號做一些運算,然後回傳結果。
如果對執行緒的基本概念不太了解的話,可以參考電腦的核心 (Core) 和執行緒 (Thread)。
這邊還有兩個我很討厭的名詞:同步 (Synchronous) 和非同步 (Asynchronous)。因為中文的翻譯超容易誤解。同步有循序、依序的意思。非同步有同時的意思。
記憶體的管理,在早期是軟體工程師一個很重要很困難的課題。現代大部分高階語言中多虧了回收機制 (Garbage Collection),能讓軟體工程師的負擔稍微少了一點。
not defined
和 undefined
是 JavaScript 中很基礎卻也很重要的觀念。
Hexo 有許多協作開發者,他們將自己的主題樣式放置在官網上,到目前為止,已經有 277 個主題可供使用者下載。
核心就是封裝在積體電路 (IC) 中的處理器。而多核心就是多核處理器 (Multi-core processor),是物理上實體存在的。例如:2 核心就是有 2 個獨立實體處理器,可以分別獨立地執行程式或執行緒 (thread) 指令,利用平行計算的能力加快程式的執行速度。