Number() は数値に変換され、String() は文字列に変換され、Boolean() はブール値に変換されます。
JavaScriptのデータ型
JavaScriptには5つの異なるデータ型があります:
string
number
boolean
オブジェクト
関数
3 つのオブジェクト タイプ:
Object
Date
Array
値を含まない 2 つのデータ タイプ:
null
未定義
typeof演算子
typeof演算子を使用して、JavaScript変数のデータ型を確認できます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量、对象、函数、表达式的类型。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof NaN + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34} + "<br>" + typeof new Date() + "<br>" + typeof function () {} + "<br>" + typeof myCar + "<br>" + typeof null; </script> </body> </html>
プログラムを実行して試してみてください
注意:
NaN のデータ型は数値です
配列 (Array) のデータ型はオブジェクトです
日付のデータ型 ( Date) は object
null のデータ型は object
未定義変数のデータ型は unfine
オブジェクトが JavaScript Array または JavaScript Date の場合、typeof では型を判断できません。どちらも Object を返します。
constructor プロパティ
constructor プロパティは、すべての JavaScript 変数のコンストラクターを返します。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> constructor 属性返回变量或对象的构造函数。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "john".constructor + "<br>" + (3.14).constructor + "<br>" + false.constructor + "<br>" + [1,2,3,4].constructor + "<br>" + {name:'john', age:34}.constructor + "<br>" + new Date().constructor + "<br>" + function () {}.constructor; </script> </body> </html>
プログラムを実行して試してください
コンストラクタープロパティを使用して、オブジェクトが配列(文字列「Array」を含む)かどうかを確認できます:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>
プログラムを実行して試してくださいコンストラクター プロパティを使用して、オブジェクトが日付 (文字列 "Date" を含む) かどうかを確認できます:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP中文网(php.cn)</title>
</head>
<body>
<p>判断是否为日期。</p>
<p id="demo"></p>
<script>
var myDate = new Date();
document.getElementById("demo").innerHTML = isDate(myDate);
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
</script>
</body>
</html>
プログラムを実行して試してください
JavaScript 変数は、新しい変数または他のデータ型に変換できます:
JavaScript 自体による自動変換JavaScript 関数を使用する
数値を文字列に変換する グローバル メソッド String() は数値を文字列に変換できます。
このメソッドは、あらゆるタイプの数値、文字、変数、式に使用できます:
インスタンス
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> String() 方法可以将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(123) + "<br>" + String(100 + 23); </script> </body> </html>
プログラムを実行して試してください
数値メソッド toString() も同じ効果があります。
インスタンス
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>toString() 方法将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 23).toString(); </script> </body> </html>
プログラムを実行して試してください
数値を文字列に変換するメソッド:
メソッド | |
---|---|
の値を変換しますオブジェクトを指数カウントメソッドに変換します。 | |
数値を文字列に変換し、結果の小数点以下の桁数が指定されたものになります。 | |
数値を指定された長さにフォーマットします。 |
method | 説明 |
---|---|
getDate() | Date オブジェクトから日付 (1 ~ 31) を返します。 |
getDay() | Dateオブジェクトから曜日(0~6)を返します。 |
getFull Year() | Date オブジェクトから年を 4 桁の数値として返します。 |
getHours() | Date オブジェクトの時間 (0 ~ 23) を返します。 |
getMilliseconds() | Date オブジェクトのミリ秒 (0 ~ 999) を返します。 |
getMinutes() | Date オブジェクトの分 (0 ~ 59) を返します。 |
getMonth() | Date オブジェクトから月 (0 ~ 11) を返します。 |
getSeconds() | Date オブジェクトの秒数 (0 ~ 59) を返します。 |
getTime() | 1970 年 1 月 1 日からのミリ秒数を返します。 |
文字列を数値に変換
グローバルメソッド Number() は文字列を数値に変換できます。
数値を含む文字列 (「3.14」など) は数値 (3.14 など) に変換されます。
空の文字列は 0 に変換されます。
その他の文字列は NaN (数値ではない) に変換されます。
Number("3.14") // 3.14を返します
Number(" ") // 0
Number("") を返します // 0
Number("99 88") を返します // NaN
文字列を返します メソッド数値に変換するには:
メソッド | 説明 |
---|---|
parseFloat() | 文字列を解析し、浮動小数点数を返します。 |
parseInt() | 文字列を解析し、整数を返します。 |
単項演算子 +
Operator + は、変数を数値に変換するために使用できます:
例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "5"; var x = + y; document.getElementById("demo").innerHTML = typeof y + "<br>" + typeof x; } </script> </body> </html>
プログラムを実行して試してください
変数を変換できない場合、数値のままですが、値は NaN (数値ではありません) です:
インスタンス
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "John"; var x = + y; document.getElementById("demo").innerHTML = typeof x + "<br>" + x; } </script> </body> </html>
プログラムを実行して試してください
ブール値を数値に変換します
グローバルNumber() メソッドはブール値を数値に変換できます。メソッド Number() は、日付 Convert を数値に変換できます。
d = new Date();
Number(d) // Return 1404568027739
date メソッド getTime() にも同じ効果があります。
d = new Date();自動変換タイプ
JavaScriptの場合「間違った」データを操作しようとします型を選択すると、自動的に「正しい」データ型に変換されます。 次の出力結果は期待したものではありません:
"5" + 1 に変換する// "51" 1 を "1" に変換して返します"5" + null に変換する // "5null" null を返す "null"
5 + null // 5 null を返す 0
"5" - 1 // 4 "5" を 5 に変換して返します
文字列に自動的に変換 オブジェクトまたは変数を出力しようとすると、JavaScript は変数の toString() メソッドを自動的に呼び出します: document.getElementById("demo") .innerHTML = myVar; 数値とブール値相互に変換されることもよくあります: // if myVar = 123 // toString は "123" に変換されます
// if myVar = {name:"Fjohn"} // toString は "[object Object]" に変換されます
// if myVar = [1,2,3,4] // toString は"1 ,2,3,4" に変換されます
// if myVar = new Date() // toString は "Fri Jul 18 2014 09:08:55 GMT+0200" に変換されます
// if myVar = true // toString は "true" に変換されます
// if myVar = false // toString は "false" に変換されます