文書の過去の版を表示しています。
— y2sunlight 2020-10-20
プログラミングに於ける式は、オペレータ(演算子)とオペランド(被演算子)によって構成されています。そして、オペランドは変数、定数とリテラルのいずれかに分類することができます。
変数と定数は使用する前に宣言しなくてはなりません(当然のことですが、リテラルに宣言は不要です)。但し、明示的にStrictモードを宣言しない場合は、非Strictモードとなり変数の宣言は免除されます。尚、非StrictモードはSloppy モードと呼ばれることもあります。
構文
var 変数名 [= 初期値], … ; // ローカルスコープ、2重定義可能 let 変数名 [= 初期値], … ; // ブロックスコープ、2重定義禁止 [ES2015]
宣言で使用する var
命令または let
命令の違いについては、本編のJavaScript 変数のスコープを参照してください。
以下にいくつかの例を示します。
var foo = 1; let bar = 1;
変数が複数ある場合はカンマで区切って、次のように書くことができます。
var foo = 1, bar = 1;
ES2015*2015以降では、定数を宣言するためのconst命令が利用できるようになりました。
const 定数名 = 値, … ; // [ES2015]
const TAX_RATE = 0.1, PI = 3.14;
JavaScriptには以下の プリミティブ型
が存在します。
また、以下の 構造型
と呼ばれる型が存在します。
これら以外に、データ値を集合として表現する 配列
(Array)と呼ばれる構文が存在します。配列はオブジェクト型の一種ですが、本章では便宜的にデータ型として扱います。
本章ではこれらのデータ型のうち Number、String、Boolean のよく使う基本的なデータ型について説明し、その他のデータ型については簡単に触れるだけで詳しくは他の章に譲ることにします。
詳しくはMDNの以下の項を参照してください。
JavaScriptの数値型は整数と浮動小数点数を区別しません。具体的にはIEEE754で定義された倍精度浮動小数点数を表します。
整数リテラル
0 123 // 先頭が0以外は10進数 0377 // 先頭が0の場合は8進数 0xCAFE91 // 先頭が0xの場合は16進数
浮動小数点リテラル
3.14 // 小数点を含む数値 6.02e+23 // 指数部分を含む数値
JavaScript では Number 型以外にNumberオブジェクトが存在します。例えば以下の例を見てください。
let n1 = 123; let n2 = new Number(123); console.log(typeof(n1)); // number console.log(typeof(n2)); // object
ここで変数 n1 は number 型ですが、n2 は Number オブジェクトになります。number型の変数にNumberオブジェクトのメソッドを適用すると暗黙的にnumber型からNumberオブジェクトへの変換が行われます。
let n = 1234.56; console.log(n.toLocaleString()); // 1,234.56
この例では、変数 n は number 型ですが toLocaleString() が適用される前に Number オブジェクトへ暗黙的に変換されています。NumberオブジェクトについてはJavaScript Numberオブジェクトを参照してください。
リテラル:
エスケープシーケンス:\n, \r, \t, \xXX(Latin-1), \uXXXX(Unicode 4桁), \u{XXXXX}(Unicode 4桁より大)
リテラル:{x:1, y:'foo', …} 値の型は任意 ※JSON形式に同じ
アクセス:data.x(オブジェクト形式) または data['x'](連想配列形式)
リテラル:['foo','bar', ・・・ ] 値の型は任意
アクセス:data[0], data[0][1]