ねこさんとへびさんの新人技術ブログ

新人エンジニアのねこさんとへびさんの、技術向上のためのブログです。

速習!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のほかには、PHPRubyなどがあります。

var score = 42; // Number
score = 'あなたの点数は' + score + 'です'; // String

上記のようにNumber型で宣言された配列に文字列を代入するとき、動的型付け言語は暗黙の型変換が行われますが、Javaなど静的型付け言語ではエラーが発生します。

暗黙的型変換

var answer = 100;    // answerはNumber型
answer = 'This is my answer'; // answerはString型

特に型を指定しなくても勝手に(暗黙的に)変数の型が変わります。

型を判定する

変数の型の判定は、typeof演算子を使う

var score = 32;
console.log(typeof score);  // Number

型変換

数値(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)
指定された基数でオブジェクトを表した文字列を返します。

実行

See the Pen TypeOF by hebisan (@climbFrog) on CodePen.


参考サイト:
developer.mozilla.org