Skip to main content

型変換とキャスト

@serverSerrverlesskiy

キャスト (type coercion)

これは、あるデータ型から別のデータ型への値の自動または暗黙的な変換です (たとえば、文字列から数値へ)。型変換は、どちらも値をあるデータ型から別のデータ型に変換するという点で型変換に似ていますが、1 つの重要な違いがあります。型変換は暗黙的であり、型変換は暗黙的または明示的です。

transformation

の例 :

Live Editor
Result
Loading...

上記の例では JavaScript 番号を与える 9 文字列に変換し、2 つの 2️⃣ 値を連結して文字列を生成します 59. JavaScript 文字列または数値のいずれかを選択でき、文字列を使用することにしました。

コンパイラは次の行をもたらした可能性があります 5 番号に戻り、金額を返す 14, しかし、彼はしませんでした。この結果を取得するには、文字列を明示的に変換する必要があります 5 メソッドを使用して数値に Number() :

Live Editor
Result
Loading...

型変換 (type conversion)

Transformation

あるデータ型から別のデータ型へのデータの転送を意味します。暗黙的な変換は、コンパイラがデータ型を自動的に割り当てる (割り当て) ときに発生しますが、ソース コードでは、変換を完了するために明示的に要求される場合もあります。

文字列変換

Transformation

文字列変換は、何かを文字列として表現したいときに発生します。たとえば、次の関数を使用できます。 String(value), 値を文字列に変換するには :

Live Editor
Result
Loading...

変容は明らかな方法で起こる. true になる "true"

数値変換

Transformation

数値変換は、数学関数および数式で発生します.

Live Editor
Result
Loading...

機能を使用できます Number(value), 明示的に変換する value 数に :

Live Editor
Result
Loading...

明示的な変換は、文字列のコンテキストから、たとえばテキスト 壁紙 フォーム フィールドから数値を取得することを期待している場合によく使用されます。.

文字列を数値に明示的にキャストできない場合、変換結果は次のようになります。 NaN (英語. Not-a-Number, "数字ではありません」)。たとえば、 :

Live Editor
Result
Loading...

数値変換規則:

| 値 | 変換された に… | | ---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | undefined | NaN | | null | 0 | | true / false | 1 / 0 | | string | 余白は端でトリミングされます。さらに、空の文字列が残っている場合は 0 を取得します。そうでない場合、数値は空でない文字列から「読み取られます」。 On error 寒暖系仮面‍♂️ 結果 NaN. |

の例:

Number('   123   ') // 123
Number('123z') // NaN (の例 "z")
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number(undefined) // NaN

その点に注意してください null そして undefined 異なった振る舞いをする.そう, null ゼロになるが、undefined に減少 NaN.

ブール変換

Transformation

論理変換は最も単純です。論理演算で発生しますが、関数として明示的に実行することもできます Boolean(value).

ブール変換規則:

みたいな直感的に「空っぽ」な値 0, 空行, 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(' ') // スペースも true (空でない文字列は true)

問題?

Problem

に書き込みます Discord または電報 チャット, また、私たちの ニュース

質問と回答:

Question

文字列変換にはどの関数を使用する必要がありますか?

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

型キャストとは何ですか?

  1. あるタイプから別のタイプへのデータの転送
  2. あるデータ型から別のデータ型への値の変換
  3. 何かを文字列として表現する

型キャストと型キャストの主な違いは何ですか?

  1. 型キャストは明示的であり、型変換は暗黙的です
  2. 型キャストは暗黙的であり、型変換は明示的です
  3. 型変換は暗黙的であり、型変換は明示的および暗黙的の両方が可能

その場合、変換は次のようになります NaN?

  1. 文字列を数値に明示的にキャストできない場合
  2. 数値を文字列に明示的にキャストできない場合 3.コードに誤りがある場合

変換すると「空」の値は何になりますか?

  1. null
  2. true
  3. false

このレッスンでどれだけ学んだかを理解するために、次のテストを受けてください。 モバイルアプリ このトピックに関する私たちの学校。

Sumerian school

リンク:

  1. MDN web docs - キャスト
  2. 10 代向け: プログラミングの完全な初心者向けガイド、ボリューム 1: Javascript - Jeremy Moritz
  3. JavaScript.ru
  4. 整数演算

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Dmitriy Vasilev

💵

Resoner2005

🐛 🎨 🖋

EnglishMoji!