速習!JavaScript - データ型
データ型とは、プログラミング言語が扱うデータをその特性にしたがい分類したものです。
代表的なものとして文字列を扱う文字列型、数値を扱う数値型などがあります。
ECMAScript標準では7つのデータ型が定義されています。
https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values
- Undefined
- 値が割り当てられていない。未定義
- Null
- Null値が割り当てられている。
- Boolean
- trueとfalseと呼ばれる2つの値をもつ論理エンティティ。
- String
- 文字列。テキストデータ。
- Symbol
- ユニークで不変なStringではない値。オブジェクトのプロパティ識別子として使われたりする。Symbol() で作成
- Number
- 整数または浮動小数
- Object
- オブジェクト
関連:ECMAScript6にシンボルができた理由 - Qiita
特徴
JavaScriptは動的型付け言語
動的型付け言語とは、あらかじめ型を決めておくということはせず、実行時の値により型が決定する言語のことです。
JavaScriptのほかには、PHPやRubyなどがあります。
var score = 42; // Number score = 'あなたの点数は' + score + 'です'; // String
上記のようにNumber型で宣言された配列に文字列を代入するとき、動的型付け言語は暗黙の型変換が行われますが、Javaなど静的型付け言語ではエラーが発生します。
暗黙的型変換
var answer = 100; // answerはNumber型 answer = 'This is my answer'; // answerはString型
特に型を指定しなくても勝手に(暗黙的に)変数の型が変わります。
型変換
数値(Number)、文字列(String)、真偽値(Boolean) には、それぞれNumber, String, Booleanという対応するオブジェクト型が存在します。
このオブジェクトを関数として利用すると、対応する型へのコンバーターとすることができます。
var str_apple_num = ”10”; console.log(str_apple_num); // "10" console.log(typeof str_apple_num); // String var apple_num = Number(str_apple_num); console.log(apple_num); // 10 console.log(typeof apple_num); // Number
文字列を数値に変更
構文:parseInt(string, radix);
文字列を整数値に変換する。第二引数のradixが未指定の場合通常は10(10進法)が指定されますが、
stringが0始まりの時などに意図しない基数になる可能性があるため、
基数は省略しない方がよいです。
構文:parseFloat()
文字列を浮動小数点値に変換する。
数値を文字列に変更
構文:Number.toString(radix)
指定された基数でオブジェクトを表した文字列を返します。