Number()数値に変換し、 String()文字列に変換し、 Boolean()ブール値に変換します。
JavaScriptのデータ型
JavaScriptでは値を含むことができる5つの異なるデータタイプがあります。
- string
- number
- boolean
- object
- function
オブジェクトの3種類があります。
- Object
- Date
- Array
値を含めることはできませんし、2データタイプ:
- null
- undefined
typeof演算子
あなたが使用することができtypeof JavaScript変数のデータ型を見つけるためにオペレータを。
例
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
»それを自分で試してみてください 遵守してください:
- データ型NaN数あります
- データ型arrayオブジェクトであります
- データ型dateオブジェクトであります
- データ型nullオブジェクトであります
- データ型undefined変数が定義されていません
あなたが使用することはできませんtypeof JavaScriptオブジェクトが配列(または日付)であるかどうかを決定します。
データ型typeof
typeof演算子は変数ではありません。 これは、演算子です。 演算子( + - * / )任意のデータ型を持っていません。
しかし、 typeof演算子は常にオペランドの型を含む文字列を返します 。
constructorプロパティ
constructorプロパティは、すべてのJavaScript変数のコンストラクタ関数を返します。
例
"John".constructor
// Returns function String() { [native code] }
(3.14).constructor
// Returns function Number() { [native code] }
false.constructor
// Returns function Boolean() { [native code] }
[1,2,3,4].constructor
// Returns function Array() { [native code] }
{name:'John', age:34}.constructor
// Returns function Object() { [native code] }
new Date().constructor
// Returns function Date() { [native code] }
function () {}.constructor
// Returns function Function(){ [native code] }
»それを自分で試してみてください あなたは、オブジェクトが配列(単語が含まれているかどうかを確認するためにコンストラクタのプロパティを確認することができます"Array" ):
例
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
»それを自分で試してみてください あなたは、オブジェクトが日付(単語が含まれているかどうかを確認するためにコンストラクタのプロパティを確認することができます"Date" ):
例
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
»それを自分で試してみてください JavaScriptの型変換
JavaScriptの変数は新しい変数と別のデータ型に変換することができます。
- JavaScript関数を使用することにより
- 自動的に JavaScriptをそれ自体で
数値を文字列に変換します
グローバルメソッドのString()数値を文字列に変換することができます。
それは数字、リテラル、変数、または式のいずれかのタイプに使用することができます。
例
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
»それを自分で試してみてください 番号方式toString()同じことを行います。
章の中でナンバー方法は、数値を文字列に変換するために使用できる複数の方法があります:
方法 | 説明 |
---|---|
toExponential() | 丸められ、指数表記を使って書かれた数字で、文字列を返します。 |
toFixed() | 小数点以下の指定された数で四捨五入し、書かれた番号で、文字列を返します。 |
toPrecision() | 指定された長さで書かれた番号で、文字列を返します |
文字列にブール値の変換
グローバルメソッドのString()文字列にブール値に変換することができます。
String(false) // returns "false"
String(true) // returns "true"
ブールメソッドtoString()同じことを行います。
false.toString() // returns "false"
true.toString() // returns "true"
文字列に日付を変換します
グローバルメソッドString()文字列に日付を変換することができます。
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
日付メソッドtoString()同じことを行います。
例
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
チャプターでは日付の方法は、文字列に日付を変換するために使用できる複数の方法があります:
方法 | 説明 |
---|---|
getDate() | 番号(1-31)のように一日を取得 |
getDay() | 番号(0-6)平日を取得 |
getFullYear() | 4桁の年(YYYY)を取得 |
getHours() | (0-23)時間を取得します。 |
getMilliseconds() | ミリ秒(0〜999)を取得 |
getMinutes() | 分(0-59)を取得 |
getMonth() | 月(0-11)を取得 |
getSeconds() | 秒(0〜59)を取得 |
getTime() | 時間(1970年1月1日からのミリ秒)を取得します |
数値に文字列を変換します
グローバルメソッドのNumber()数値に文字列を変換することができます。
(のような数字を含む文字列"3.14"など)の数字に変換されます。
空の文字列は0に変換されます。
何か他のものに変換NaN (非数)。
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
章の中でナンバー方法は、数値に文字列を変換するために使用できる複数の方法があります:
方法 | 説明 |
---|---|
parseFloat() | 文字列の構文を解析し、浮動小数点数を返します。 |
parseInt() | 文字列の構文を解析し、整数を返します |
単項+演算子
単項+オペレータが番号に変数を変換するために使用することができます。
変数は変換できない場合、それはまだ数になりますが、値NaN(非数)となります。
数字にブール値の変換
グローバルメソッドのNumber()も数値にブール値に変換することができます。
Number(false) // returns 0
Number(true) // returns 1
数字日付を変換します
包括的方法
d = new Date();
Number(d) // returns 1404568027739
日付メソッドgetTime()同じことを行います。
d = new Date();
d.getTime() // returns 1404568027739
自動型変換
JavaScriptは "間違った"データ型を操作しようとすると、それは「右」型に値を変換しようとします。
結果は、あなたが期待するもの常にではありません。
5 + null // returns 5
because null is converted to 0
"5" + null // returns "5null"
because null is converted to "null"
"5" + 2 // returns
52
because 2 is converted to "2"
"5" - 2 // returns 3
because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
»それを自分で試してみてください 自動文字列の変換
JavaScriptは自動的に変数の呼び出しtoString()あなたは「出力」オブジェクトまたは変数にしようとすると、機能を:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
数値とブール値も変換されますが、これは非常に表示されません。
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
JavaScriptの型変換表
このテーブルには、数値、ストリング、およびブールに異なるJavaScriptの値を変換した結果を示しています。
元の 値 | 変換されました ナンバーへ | 変換されました 文字列へ | 変換されました ブールへ | それを試してみてください |
---|---|---|---|---|
false | 0 | "false" | false | それを試してみてください " |
true | 1 | "true" | true | それを試してみてください " |
0 | 0 | "0" | false | それを試してみてください " |
1 | 1 | "1" | true | それを試してみてください " |
"0" | 0 | "0" | true | それを試してみてください " |
"1" | 1 | "1" | true | それを試してみてください " |
NaN | NaN | "NaN" | false | それを試してみてください " |
Infinity | Infinity | "Infinity" | true | それを試してみてください " |
-Infinity | -Infinity | "-Infinity" | true | それを試してみてください " |
"" | 0 | "" | false | それを試してみてください " |
"20" | 20 | "20" | true | それを試してみてください " |
"twenty" | NaN | "twenty" | true | それを試してみてください " |
[ ] | 0 | "" | true | それを試してみてください " |
[20] | 20 | "20" | true | それを試してみてください " |
[10,20] | NaN | "10,20" | true | それを試してみてください " |
["twenty"] | NaN | "twenty" | true | それを試してみてください " |
["ten","twenty"] | NaN | "ten,twenty" | true | それを試してみてください " |
function(){} | NaN | "function(){}" | true | それを試してみてください " |
{ } | NaN | "[object Object]" | true | それを試してみてください " |
null | 0 | "null" | false | それを試してみてください " |
undefined | NaN | "undefined" | false | それを試してみてください " |
引用符で囲まれた値は、文字列値を示しています。
レッド値は、(一部の)プログラマが期待していないかもしれない値を示しています。