型について
文字列と数値というのは以前alert文で死ぬほど入力してもらったので、覚えているはず。
覚えているけどもう一回あの時の雰囲気を味わいたい。
そういう方はここを見てみてください。
では復習を兼ねて、数字のみの文字列を作って足してみます。
1 2 3 4 |
var value1 = '10'; //文字列の10を代入 var value2 = '20'; //文字列の20を代入 alert(value1 + value2); |
結果はご存知の通り1020になります。
もちろん文字列なので当然ですね。
ただ、文字列として変数に入っている数字を結合じゃなく数値として計算したい場合が結構な頻度であります。
本当です。大人になればわかります。
最初からシングルスクォーテーション入れずに
代入したら良いなんて心無いことを言う人がいますが、
自動的に文字列として入ってくるケースもまぁ結構な頻度であるため、計算するには一旦数値に戻す必要があります。
では、まず先ほどのサンプルプログラムの’10’と’20’を文字列から数値にして計算をさせてみます。
1 2 3 4 5 6 |
var value1 = '10'; //文字列の10を代入 var value2 = '20'; //文字列の20を代入 //変数 value1とvalue2をparseIntで数値に変換して計算している alert(parseInt(value1,10) + parseInt(value2,10)); |
結果が30になりましたね。文字列から数値に変換したので計算できるようになりました。
今回使用したのはparseIntです。
使い方を確認してみます。
1 2 |
parseInt(value1,10); //value1を10進数で表示して!という意味 parseInt(value2,10); //value2を10進数の数値に変更して!という意味 |
このparseIntは英語的には2つに分かれます。
parse と integer です。 parseというのは「解析」と言った意味があります。そしてintegerはプログラムで整数の型を表します。
つまり、value1を解析して10進数の整数にしてくれ!と言ったところです。
なんとなく意味がつかめましたか?
型について
前半でintegerは整数の型とか耳慣れないことを言いましたが、型というのはデータの種類みたいなイメージです。
今までの学習でデータは一種類ではないことを学んできたと思います。
数値、文字列は同じデータでしたが、違うものですよね。
それでは、今まで使ってた型を確認してみましょう。
typeof関数というスカウター的な関数(機能)で型を確認ができるので、型をみてみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var freeza = 530000; //数値を代入 typeof freeza; //type(型)はnumber var name = 'freeza' //文字列を代入 typeof name; //type(型)はstring var bool = true; //trueを代入 ※注意(文字列'true'じゃないよ!) typeof bool; //type(型)はboolean var bool = false; //trueを代入 ※注意(文字列'false'じゃないよ!) typeof bool; //type(型)はboolean var score = 100 + "点" //数値を文字列を結合したものを代入 typeof score //type(型)はstring var array = [1, 2, 3]; //配列を代入 typeof array //type(型)はobject |
numberとstringは何度か利用したことがあるので記憶にあると思います。
boolean型とobject型は見慣れていないですが大丈夫。
今まで、if文、for文、while文、プログラムの制御をする文章を
嫌になるくらい書いてきたはずです。
制御構文は実行の条件に条件式を書いてその結果の真(true)、
偽(false)で条件を分岐、または繰り返しさせていました。
この真(true)と偽(false)がboolean型です。
オブジェクトは、後々詳しく解説していくことになりますが、
ざっくり説明すると、車です。
ハァ?って思いましたよね。自分も初めはそう思いました。
今でも思うことあります。
とりあえず、車ってどんなものか。挙げてみてください。
- ナンバープレートがある
- 4人のりとか7人のりとかある
- なんか動く、前とか後ろとか
- 空は飛ばない
- ブレーキ踏んだら減速する
- 車名がある
- 俺の車は青色だ
- 今まで何キロ走ったか記録されてる
↑がオブジェクトです。私の車オブジェクト。
車は色々な情報と機能を持ってますよねこれがオブジェクト。
それ以外でもjavascriptは
オブジェクトについてはまずは何となく覚えてもらえれば大丈夫です。
後々また現れるので徐々に理解していきましょう。
演習
次の計算後、変数の型は何になるか答えてください
1 2 3 |
var question_1 = 1; var question_2 = "" + 1; var question_3 = parseInt(question_2,10); |
宿題
parseInt以外に文字列を数字に変更する機能がないか調べてみよう。
他の機能が見つかったら実際に文字列の数字を文字列に変換して
typeofを利用して調べてみよう。