ホームページ > 記事 > ウェブフロントエンド > JavaScript でのデータ型変換を理解する
JavaScript では、データ型を使用して特定の種類のデータを分類し、その型に割り当てることができる値とその型に対して実行できる操作を決定します。
JavaScript は型強制により多くの値を自動的に変換しますが、望ましい結果を達成するには、型間の値を手動で変換するのが最善であることがよくあります。
このチュートリアルでは、数値、文字列、ブール値などの JavaScript の基本データ型を変換する方法を説明します。
暗黙的な変換
プログラミング言語として、JavaScript は予期しない値に対する高い耐性を持っています。したがって、JavaScript は予期しない値を完全に拒否するのではなく、変換しようとします。この暗黙的な変換は型強制と呼ばれます。
一部のメソッドは、値を使用するために自動的に値を変換します。 alert() メソッドはパラメータとして文字列を受け入れますが、他の型は自動的に文字列に変換されます。したがって、メソッドに数値を渡すことができます。
alert(8.5);
上記のコード行を実行すると、ブラウザは 8.5 の値を示すポップアップ警告ダイアログ ボックスを返しますが、値は 8.5 に変換されます。文字列 。
数学演算子を介して数値として評価できる文字列を扱う場合、以下の例に示すように、JavaScript は文字列を暗黙的に数値に変換することでこれらの値を処理できることがわかります。
// Subtraction "15" - "10";
出力: 5
// Modulo "15" % "10";
出力: 5
ただし、すべての演算子が期待どおりに機能するわけではありません。この演算子は加算や文字列の連結を表すことができるため、明らかに問題があります。
// When working with strings, + stands for concatenation "2" + "3";
出力: "23"
演算子は多目的であるため、文字列値 2 と 3 は、数値文字列であるにもかかわらず、文字列値 23 に連結されます。足すと5になります。
曖昧さが存在し、場合によっては予期しない結果につながる可能性があるため、通常はコード内でできるだけ多くのデータ型を明示的に変換することが最善です。これは、ユーザーからの入力を管理し、エラーを処理するのに役立ちます。
値を文字列に変換する
String() または N.ToString() を呼び出すことで、値を文字列に明示的に変換できます。
String() 関数を使用して、String() のパラメーターに値 true を渡して、ブール値を文字列に変換しましょう。
String(true);
これを実行すると、文字列リテラル「true」が返されます。
出力: "true"
あるいは、関数に数値を渡すこともできます。
String(49);
は数値の文字列リテラルを返します。
出力: "49"
変数を指定して String() 関数を使用してみましょう。変数 odyssey に数値を代入し、typeof 演算子を使用して型を確認します。
let odyssey = 2001; console.log(typeof odyssey);
出力:number
このとき、変数 odyssey には 2001 という値が代入されており、数値であることが確認できました。
ここで、odyssey を同等の文字列に再割り当てし、typeof を使用して変数の値が数値から文字列に正常に変換されたことを確認しましょう。
odyssey = String(odyssey); // "2001" console.log(typeof odyssey);
出力: string
上記の例では、データ型変換後に odyssey が文字列値に再代入されることを確認しました。
n.toString() も同様の方法で使用できます。 n を変数に置き換えることができます:
let blows = 400; blows.toString();
変数 blow は文字列として返されます。
出力: "400"
また、n.toString() 変数の代わりに括弧内に値を入れることもできます。 変数:
(1776).toString(); // returns "1776" (false).toString(); // returns "false" (100 + 200).toString(); // returns "300"
Pass using String()または n.toString() を使用すると、ブール値または数値データ型の値を明示的に String 値に変換して、コードが期待どおりに動作することを確認できます。
値を数値に変換する
値を数値データ型に変換する場合は、number() メソッドを使用します。まず、数値テキスト文字列を数値に変換しますが、ブール値も変換できます。
数値文字列をnumber()メソッドに渡すことができます:
Number("1984");
文字列は数値に変換され、「」で囲まれなくなります。引用符。
出力: 1984
文字列を変数に代入して変換することもできます。
let dalmatians = "101"; Number(dalmatians);
出力: 101
文字列リテラル「101」は、変数を介して数値 101 に変換されます。
空白文字列または空文字列は 0 に変換されます。
Number(" "); // returns 0 Number(""); // returns 0
数値以外の文字列は、非数値を意味する 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
このメソッドの機能は、数値以外のデータ型を数値に変換することです。
値をブール値に変換する
数値または文字列をブール値に変換するには、Boolean() メソッドを使用できます。これは、たとえば、ユーザーがテキスト フィールドにデータを入力したかどうかを判断するのに役立ちます。
数値 0、空の文字列または未定義の値、NaN、または null など、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
将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。
相关免费学习推荐:js视频教程
以上がJavaScript でのデータ型変換を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。