JavaScriptでのキャスト

JavaScriptで1つのデータ型から別のデータ型にキャストする方法

JavaScriptが緩く型付けされた言語であっても、値を型から別の型に変換する必要がある場合があります。

JavaScriptには、次のプリミティブ型があります。

  • Number
  • String
  • Boolean
  • Symbol

およびオブジェクトタイプ:

  • Object

(プラスnullそしてundefined、しかしそれらから/へのキャストには意味がありません)

たとえば、次のように変換することができます。

  • 文字列への数字
  • 文字列から数値へ
  • ブール値への文字列
  • 文字列へのブール値

…等々。

あるタイプから別のタイプに変換するために使用できる手法は次のとおりです。最も一般的なケースについて説明します。

文字列への変換

一般に、何かから文字列への変換は、通常、toString()任意の値のメソッド。JavaScriptはそのタイプに対応する文字列値を作成します。または、任意の値をに渡すことができますString()グローバル関数。

数字から文字列へのキャスト

文字列グローバル関数、または数値タイプを使用しますtoString()方法:

String(10) //"10"
(10).toString() //"10"

ブール値から文字列へのキャスト

文字列グローバル関数、またはブール型を使用しますtoString()方法:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

日付から文字列へのキャスト

文字列グローバル関数、または日付型を使用しますtoString()方法:

String(new Date('2019-01-22'))
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

(new Date('2019-01-22')).toString()
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

文字列の特殊なケース

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

数値への変換

文字列から数値へのキャスト

これを行うには、Number()一種のコンストラクターであるグローバル関数。文字列を渡すことができ、JavaScriptはそれを数値に変換する方法を理解します。

Number("1") //1
Number("0") //0

文字列は、数値に変換される前にトリミングされます。

Number(" 1 ") //1

空の文字列を渡すと、デフォルトで0になります。

Number("") //0

小数を処理するには、ドットを使用します。

Number("12.2")

文字列に無効な文字が含まれている場合、NaN

これが数値への変換の基本ですが、詳細についてはJavaScriptで文字列を数値に変換する方法。文字列から数値を生成する方法は他にもあります。parseInt()parseFloat()Math.floor()、ユニアリー+オペレーター。

ブール値から数値へのキャスト

文字列の場合と同じように、ブール値をに渡しますNumber()0または1のいずれかを返します。

Number(true) //1
Number(false) //0

日付から数字へのキャスト

Dateオブジェクトをに渡す場合Number()、取得できる日付から数値への変換に最適な日付タイムスタンプが返されます。

番号付きの特殊なケース

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

ブール値への変換

任意の値をブール値に変換して、Boolean()

すべての値はに解決されますtrue例外:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: