跳到主要内容

類型轉換和轉換

@serverSerrverlesskiy

類型強制(類型強制)

它是值從一種數據類型到另一種數據類型(例如,字符串到數字)的自動或隱式轉換。 類型轉換與類型轉換類似,因為它們都將值從一種數據類型轉換為另一種數據類型,但有一個關鍵的區別-類型轉換是隱式的,而類型轉換可以是隱式的或顯式的。

transformation

例子 :

实时编辑器
结果
Loading...

在上面的示例中,JavaScript強制轉換為數字 9 成一個字符串,然後將兩個2️⃣值連接在一起,得到字符串 59. JavaScript可以在字符串或數字之間選擇,然後選擇使用字符串。

編譯器可以轉換字符串 5 到一個數字並返回 14, 但事實並非如此。 要獲得此結果,您需要顯式轉換字符串 5 到使用 Number() 方法:

实时编辑器
结果
Loading...

類型轉換

Transformation

表示將數據從一種數據類型傳輸到另一種數據類型。 隱式轉換發生在編譯器自動分配(分配)數據類型時,但是源代碼也可能明確要求轉換完成。

字符串轉換

Transformation

當您想將某些東西表示為字符串時,就會發生字符串轉換。 例如,我們可以使用 String (value) 將值轉換為字符串的函數 :

实时编辑器
结果
Loading...

轉換以明顯的方式發生。 true 變成"true"

數值轉換

Transformation

數值轉換發生在數學函數和表達式中。

实时编辑器
结果
Loading...

我們可以使用 Number (value) 函數顯式轉換 value 到一個數字 :

实时编辑器
结果
Loading...

當我們期望從字符串上下文中獲取數字(例如表單中的文本字段)時,通常會使用顯式轉換。

如果無法將字符串顯式轉換為數字,則轉換結果將為 NaN (非數字, "not a number "). 例如 :

实时编辑器
结果
Loading...

數值轉換規則:

ValueConverted to ...
undefinedNaN
null0
true / false1 / 0
string邊緣處留有空白。 此外,如果保留一個空字符串,則我們將得到0,否則將從非空字符串“讀取”一個數字。 錯誤時,結果為 NaN。

例子:

Number('   123   ') // 123
Number('123z') // NaN (error reading the number in place of the "z" character)
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number(undefined) // NaN

注意 nullundefined 表現不同。 所以, null 變為零,而 undefined 被投射到 NaN.

布爾轉換

Transformation

邏輯轉換是最簡單的。 發生在邏輯運算中,但也可以使用功能⚙️顯式執行 Boolean (value).

布爾轉換規則:

直觀上是“空”的值,例如 0, an empty string,一個空字符串null, undefined, 和 NaN 變得false. 所有其他值變為 true.

Boolean(1) // true
Boolean(0) // false
Boolean('Привет!') // true
Boolean('') // false

:::注意請注意,零“ 0”的行為true 某些語言 (例如PHP)會解釋字符串 " 0 " 作為 false. 但是在JavaScript中,如果字符串不為空,則始終為 true :::

Boolean('0') // true
Boolean(' ') // space is also true (any non-empty string is true)

問題?

Problem

頻道輸入 Discord 付款後 Patreon.

問題:

Question

您應該使用哪個函數進行字符串轉換?

  1. String (value)
  2. Boolean (value)
  3. Number (value)

什麼是類型轉換?

1.將數據從一種類型傳輸到另一種類型 2.將值從一種數據類型轉換為另一種數據類型 3.用字符串表示事物

類型轉換和類型轉換之間的主要區別是什麼?

1.類型轉換是顯式的,類型轉換是隱式的 2.類型轉換是隱式的,類型轉換是顯式的 3.類型轉換是隱式的,類型轉換可以是顯式的也可以是隱式的

轉換結果何時 NaN?

1.無法將字符串顯式轉換為數字時 2.無法將數字顯式轉換為字符串時 3.當代碼中有錯誤時

做什麼 “empty” 轉換時會變成值?

  1. null
  2. true
  3. false

為了了解您學到了多少本課程,請對 mobile application 我們學校就這個話題。

EnglishMoji!

鏈接

  1. MDN web docs - Typecasting
  2. Code for Teens: The Perfect Beginner's Guide to Programming, Volume 1: Javascript - Jeremy Moritz
  3. JavaScript.ru
  4. Integer arithmetic

貢獻者 ✨

感謝這些好人 (emoji key):


Dmitriy Vasilev

💵

Resoner2005

🐛 🎨 🖋

EnglishMoji!