前書き

JavaScriptでは、https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript [data types]を使用して特定のデータタイプを分類し、そのタイプに割り当てることができる値を決定します。実行できる操作。

*type coercion *により、JavaScriptは多くの値を自動的に変換しますが、多くの場合、期待される結果を得るためにタイプ間で値を手動で変換するベストプラクティスです。

このチュートリアルでは、数値、文字列、ブール値などのJavaScriptのプリミティブデータ型の変換について説明します。

暗黙的な変換

プログラミング言語として、JavaScriptは予期しない値に対して非常に寛容です。 このため、JavaScriptは予期しない値を完全に拒否するのではなく、変換しようとします。 この暗黙的な変換は、型強制として知られています。

一部のメソッドは、値を使用するために値を自動的に変換します。 https://www.w3schools.com/jsref/met_win_alert.asp [+ alert()+ method]はパラメーターとして文字列を受け取りますが、他の型を自動的に文字列に変換します。 そのため、メソッドに数値を渡すことができます。

alert(8.5);

上記の行を実行すると、ブラウザーはポップアップアラートダイアログボックスを返します。これは、そうするために文字列に変換された場合を除き、 `+ 8.5 +`値を表示します。

https://www.digitalocean.com/community/tutorials/how-to-do-math-in-javascript-with-operators [数学演算子]で数値に評価できる文字列を使用すると、JavaScriptが見つかります以下の例に示すように、文字列を暗黙的に数値に変換することにより、値を処理できます。

// Subtraction
"15" - "10";
Output5
// Modulo
"15" % "10";
Output5

ただし、すべてのオペレーターが期待どおりに機能するとは限りません。 `+`演算子は、追加またはhttps://www.digitalocean.com/community/tutorials/how-to-work-with-strings-in-javascript#string-concatenation[string連結]。

// When working with strings, + stands for concatenation
"2" + "3";
Output"23"

「+」演算子は多目的であるため、「+ 2+」および「3」の文字列値は、数値文字列であるにもかかわらず、加算されるのではなく「23」の文字列値に連結されます数字の「5」になります。

あいまいさが存在し、時には予期しない結果を引き起こす可能性があるため、多くの場合、可能な限りコード内のデータ型を明示的に変換することが最善です。 これは、ユーザーからの入力の管理とエラー処理に役立ちます。

値を文字列に変換する

`+ String()`または ` n.toString()+`を呼び出すことで、値を明示的に文字列に変換できます。

+ String()+`関数を使用して、値を渡すことでhttps://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript#booleans [ブール値]を文字列に変換しましょう+ String()`のパラメーターに ` true +`を追加します。

String(true);

これを行うと、文字列リテラル `” true “`が返されます。

Output"true"

または、関数に数値を渡すことができます。

String(49);

その番号の文字列リテラルが返されます。

Output"49"

変数で `+ String()`関数を使用しましょう。 変数「 odyssey 」に数値を割り当て、「 typeof +」演算子を使用して型を確認します。

let odyssey = 2001;
console.log(typeof odyssey);
Outputnumber

この時点で、変数「+ odyssey 」には数値であることが確認されている「+2001」の数値が割り当てられます。

それでは、「+ odyssey 」を文字列に再割り当てし、「 typeof +」を使用して変数の値を数値から文字列に正常に変換したことを確認します。

odyssey = String(odyssey);  // "2001"
console.log(typeof odyssey);
Outputstring

上記の例では、データ型変換後の文字列値と同等になるように「+ odyssey +」が再割り当てされたことを確認しました。

同様の方法で `+ n.toString()`を使用できます。 ` n +`を変数に置き換えることができます:

let blows = 400;
blows.toString();

変数 `+ blows +`は文字列として返されます。

Output"400"

または、 `+ n.toString()+`を使用して変数ではなく括弧内に値を入れることができます。

(1776).toString();          // returns "1776"
(false).toString();         // returns "false"
(100 + 200).toString();     // returns "300"

`+ String()`または ` n.toString()+`を使用することにより、ブール値またはhttps://www.digitalocean.com/community/tutorials/understanding-data-types-inの値を明示的に変換できます。 -javascript#numbers [number data types]を文字列値に変換して、コードが予想どおりに動作するようにします。

値を数値に変換する

値を数値データ型に変換するときは、 `+ Number()+`メソッドを使用します。 主に、数値テキストの文字列を数値に変換しますが、ブール値も変換できます。

数値の文字列を `+ Number()+`メソッドに渡すことができます:

Number("1984");

文字列は数値に変換され、引用符で囲まれなくなります。

Output1984

文字列を変数に割り当ててから変換することもできます。

let dalmatians = "101";
Number(dalmatians);
Output101

文字列リテラル `” 101 “`は、変数を介して数値 `+ 101 +`に変換されました。

空白文字列または空の文字列は、「+ 0+」に変換されます。

Number(" ");    // returns 0
Number("");     // returns 0

数字以外の文字列は N ot * a * N umberを表す `+ NaN +`に変換されることに注意してください。 これには、スペースで区切られた数字が含まれます。

Number("twelve");   // returns NaN
Number("20,000");   // returns NaN
Number("2 3");      // returns NaN
Number("11-11-11"); // returns NaN

ブールデータ型の場合、「+ false 」は「+0」に評価され、「+ true 」は「+1」に評価されます。

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

`+ Number()+`メソッドは、非数値データ型を数値に変換します。

値をブール値に変換する

数値または文字列をブール値に変換するには、 `+ Boolean()+`メソッドが使用されます。 これは、たとえば、ユーザーがテキストフィールドにデータを入力したかどうかを判断するのに役立ちます。

数字の「0」、空の文字列、未定義の値、「+ NaN 」または「 null 」など、空と解釈される値はすべて「 false +」に変換されます。

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

空白で構成される文字列リテラルなど、他の値は「+ true +」に変換されます。

Boolean(2000);      // returns true
Boolean(" ");       // returns true
Boolean("Maniacs"); // returns true

文字列リテラルとしての `” 0 “`は空でない文字列値であるため、 `+ true +`に変換されることに注意してください。

Boolean("0");   // returns true

数値と文字列をブール値に変換すると、バイナリ用語内のデータを評価でき、プログラムの制御フローに活用できます。

結論

このチュートリアルでは、JavaScriptがプリミティブデータ型の変換を処理する方法について説明しました。 型強制のために、データ型は多くの場合暗黙的に変換されますが、プログラムが期待どおりに機能することを保証するためにデータ型を明示的に変換することは良い習慣です。

JavaScriptのデータ型の詳細については、「https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript[JavaScriptのデータ型について]」を参照してください。データ型変換の実行方法を確認するには他のプログラミング言語では、「https://www.digitalocean.com/community/tutorials/how-to-convert-data-types-in-python-3[Python 3でデータ型を変換する方法]」をご覧ください。 」