變數常數資料類型

變數、函式、類別命名

變數與函式,都用小駝峰式(camelCase)的命名。 類別用巴斯卡(PascalCase)或大駝峰式命名法(CamelCase)命名:

let numberOfStudents
const numberOfLegs
function setBackgroundColor()
class Student{}

//不用 _ 的命名方式
const NAMES_LIKE_THIS='Hello'

資料類型(值)

JavaScript中有6種原始的原始資料類型(Primitive Data Type),分別是 數字(Number) 字串(String) 布林(Boolean) 特殊的原始資料類型: 空(null)=>有名稱,但沒有值 未定義(undefined)=>連名稱都沒有定義 符號(Symbol)

複合型(composite)或參考型(reference)的資料類型: 陣列(Array) 物件(Object)

函數不算資料

"falsy"包含了0, -0, null, NaN, undefined, 空白字串(''),當然也一定包含了false值

JavaScript是一個鬆散資料類型(loosely typed)的程式語言。你不需要為變數/常數在定義時,就規定要使用哪一種的資料類型。只需要指定它的值,JavaScript會依照你所指定的值決定變數/常數的資料類型。

那麼要如何判斷目前變數/常數的資料類型?最簡單的方式就是使用這個運算符typeof

console.log(typeof 37) //'number'
  • 數字轉字串 typeof(15+'')

  • 字串轉數字 typeof('15'-0)

整數的進位(少用到)

整數轉浮點數

雙位元反相運算(Double Bitwise NOT)(~~)

真正功用是轉換其他類型為整數

雙驚嘆號(!!)

轉換後形成布林值的情況值

數字的精確問題

在處理浮點數時,要格外小心,javascript要先轉為整數再運算。

注意: 第二行的值失去精確,它會變成另一個值

注意: x, y都不是你想的結果

樣版字串

對於JavaScript語言來說,使用雙引號標記("")與單引號標記('')來定義字串值,結果都是完全一樣的。 若要在字串內加入變數/常數,要用樣版字串。

字串與字元

存取一個字串中的單一個字元,可以用類似陣列的存取方式

與其他類型作加號(+)運算

indexOf() 字串搜尋(返回索引值)

如果尋找不到該子字串,則會回傳-1

slice()、splice()、split()、join() 用法說明

  • slice(): 截取陣列或字串的部份

  • splice(): 增加或刪除陣列中指定 index 的值

  • split(): 提供分隔符號,將字串轉換為陣列

  • join(): 提供分隔符號,將陣列改為字串

取出子字串

substring(不能用負值)

語法: str.substring(start[, end])

slice(字串陣列皆可用)

語法: str.slice(start[, end])

substr(非標準用法,只有某些瀏覽器可用)

短路求值

實際上JavaScript中,在經過邏輯與(&&)與邏輯或(||)的運算後,它的回傳值是 - 最後的值(Last value),並不是像在常見的Java、C++、PHP程式語言中的是布林值。

&& 要二邊都是true才是 true,其它都是 false

|| 只要二邊有一個是 true 就是 true

Last updated

Was this helpful?