変数
変数
- 「変数」は、数値や文字などを格納しておく「箱」のようなもの
- 変数はいくつでも使える
- 半角英数文字と「_」「$」の組み合わせであること
- ただし、1文字目に数字は使えない
- 大文字小文字は区別される
- JavaScriptの予約語は使えない
変数名の付け方
- 半角アルファベット、数字、アンダースコアから構成される
- 最初の1文字目には数字は使えない
- 変数名に予約語は使えない
変数名として使えない文字列
プログラミング言語には、変数名などの名前に使用できないキーワードがあります。
それらを「予約語」と呼びます。
JavaScript、ActionScript、PHPそれぞれに予約語があります。
JavaScriptの予約語
break, case, catch, continue, default, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with
プログラミングの勉強で初心者がもっとも難解なのは、変数名の付け方またはどれが変数なのかを見分けることです。
複雑ないないように見えても、変数宣言とその指定がほとんどです。
まず、変数の名前を付けることに慣れていきましょう。
変数の利用
- 値を代入して使う
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>JavaScriptの練習</title> </head> <body> <script> /* 変数: データにつけるラベル データ型 - 文字列 - 数値 - 真偽値 (true / false) - オブジェクト - 配列 - 関数 - 組み込みオブジェクト - undefined 定義されていない - null 何もない */ var msg = 'hello world!', x = 20, y = 10; console.log(msg); </script> </body> </html>
変数に値を入れるには次のようにします。
a = 2;
「a」という名前の変数に「2」という数値を入れます。
変数に値を入れることを「代入」といいます。
変数の型
「数値」や「文字」といったデータの種類のことを、型といいます。
JavaScriptでは、変数に代入される値の型によって、変数の型が自動的に決まります。
a = 1;
a = '1';
数値型
数値が入る変数の型を「数値型」といいます。
typeof演算子では「number」で表されます。
a = 123;
b = -5;
c = 0.1;
d = -2.8;
a = typeof(123);
document.write(a);
論理型(boolean)ブーリアン
論理型は「true(真)」または「false(偽)」のどちらかの値を持ちます。
値などを比較した結果を代入するときに使用します。
typeof演算子では「boolean」で表されます。
a = true;
b = false;
c = typeof(true);
document.write(c);
object型とnull型
「object型」はオブジェクトの参照先を表す型です。
また、値がないことを表すのに「null」という特別な値を使います。
object型もnull型も、typeof演算子では「object」で表されます。
a = null;
- object「オブジェクト型」
d = typeof(window);
document.write(d);
- object「null型」
e = typeof(null);
document.write(e);
未定義型(undefined)
変数が未使用状態であることを「未定義型(undefined)」で表します。
undefinedは変数に代入できません。
typeof演算子では「undefined」で表されます。
f = typeof(undefined);
document.write(f);
delete演算子
delete演算子を使うと変数を削除し、未使用状態に戻すことができます。
削除に成功すると「true」を返し、失敗すると「false」を返します。
a = 1;
delete a;
文字列型(string)
1つ以上の文字を並べたものを「文字列型」といいます。
- 文字列型は「"(ダブルクォーテーション)」または「'(シングルクォーテーション)」で挟む
- typeof演算子では「string」で表される
a = 'Hello';
b = 'a';
文字列の連結
文字列を連結したいときには「+」を使って記述する。
a = '夏';
b = '休み';
c = a + b;
「"」と「'」
文字列の中で「'」を使いたいときには「"」で文字列全体を囲みます。
「"」を使いたいときには「'」で囲みます。
a = 'ようこそ"Webクラス"へ!;
b = "名前は'鈴木'です。";
エスケープシーケンス
" "の中で「"」、' 'の中で「'」を使いたいときは、文字の前に「\(エスケープ文字)」を付けて表す「エスケープシーケンス」という特殊文字を使います。
利用出来るエスケープシーケンスはブラウザにより異なりますが、次のようなものがあります。
エスケープシーケンス | 働き |
---|---|
\t | タブ |
\n | 改行 |
\b | バックスペース |
\" | 「"」を表示 |
\' | 「'」を表示 |
\\ | 「\」を表示 |
\uNNNN | 16進数のUnicode文字 |
alert('ようこそ!\n\'Webクラス\'へ。');
\nをdocument.writeで使っても、<pre>を使わない限りブラウザで改行は反映されません。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>JavaScriptの練習</title> </head> <body> <script> /* 文字列 表現方法 特殊文字 演算子 */ var s; s = "hello"; s = 'hel\'lo'; // \n 改行 // \t タブ s = 'it\'s\n a pe\tn.'; s = "hello " + "world"; s = "5" + 5; // "55" console.log(s); </script> </body> </html>
NaNとInfinity
数値型(number)には、整数と少数のほかに NaN(非数)と Infinity(無限)という値があります。
NaN(Not A Number)非数
NaNは、数ではない数という意味で、数値に変換しようとして変換できないときの値です。
たとえば、次のように文字列を parseInt で整数にしようとすると、結果は NaN になります。
a = 'あいうえお';
num = parseInt(a);
Infinity 無限
Infinityはある数字を0で割ったときの値です。
JavaScriptでは、数字を0で割ってもエラーになりません。
正の数を0で割るとInfinityになる
num = 100/0;
負の数を0で割ると-Infinityになる
num = -100/0;