JavaScript類型

您可能有時會讀到JS未輸入類型,但這是不正確的。確實可以為變量分配各種不同類型,但是JavaScript具有類型。特別是,它提供了原始類型和對像類型。

原始類型

基本類型是

和兩種特殊類型:

  • 空值
  • 不明確的

讓我們在下一部分中詳細了解它們。

號碼

在內部,JavaScript數字只有一種類型:每個數字都是浮點數。

數字文字是在源代碼中表示的數字,具體取決於其寫法,它可以是整數文字或浮點文字。

整數:

10
5354576767321
0xCC //hex

浮點數:

3.14
.1234
5.2e4 //5.2 * 10^4

弦樂

字符串類型是字符序列。它在源代碼中定義為字符串文字,並用引號或雙引號引起來

'A string'
"Another string"

通過使用反斜杠,字符串可以跨多行

"A \
string"

字符串可以包含在打印字符串時可以解釋的轉義序列,例如\ n以創建新行。例如,當您需要在用引號引起來的字符串中輸入引號時,反斜杠也很有用,以防止將char解釋為結束引號:

'I\'m a developer'

可以使用+運算符來連接字符串:

"A " + "string"

模板文字

在ES2015中引入的模板文字是字符串文字,它允許使用更強大的方式來定義字符串。

const a_string = `something`

您可以執行字符串替換,嵌入任何JS表達式的結果:

`a string with ${something}`
`a string with ${something+somethingElse}`
`a string with ${obj.something()}`

您可以輕鬆擁有多行字符串:

`a string
with
${something}`

布爾值

JavaScript為布爾值定義了兩個保留字:true和false。許多比較操作== === < >(依此類推)返回一個或另一個。

ifwhile語句和其他控制結構使用布爾值來確定程序的流程。

他們不僅接受是非,還接受真實的虛假的價值觀。

虛假的價值觀,價值觀解釋為假, 是

0
-0
NaN
undefined
null
'' //empty string

所有其餘的被認為是真實價值

空值

null是一個特殊值,它指示沒有值。

這也是其他語言中的常見概念,可以稱為nil或者None例如在Python中。

不明確的

undefined指示變量尚未初始化且值不存在。

通常由不帶返回值的函數返回return價值。當函數接受參數但調用者未設置參數時,則該參數未定義。

檢測值是否為undefined,您可以使用以下結構:

typeof variable === 'undefined'

對像類型

任何不是原始類型的東西都是目的類型。

對像類型具有屬性,並且還具有可以作用於這些屬性的方法。

如何找到變量的類型

任何變量都有分配的類型。使用typeof運算符以獲取類型的字符串表示形式:

typeof 1 === 'number'
typeof '1' === 'string'
typeof {name: 'Flavio'} === 'object'
typeof [1, 2, 3] === 'object'
typeof true === 'boolean'
typeof undefined === 'undefined'
typeof (() => {}) === 'function'

為什麼typeof返回“功能”? JavaScript沒有function類型。沒錯,這是一個怪癖typeof方便地返回該值。

免費下載我的JavaScript初學者手冊


更多js教程: