JavaScript¶
実行環境¶
Webブラウザ上で実行¶
JavaScriptとHTMLファイル
JavaScript規格(EcmaScript)のメモもこちらに記載
スタンドアロンのマシン上で実行¶
ライブラリ¶
3Dグラフィックス¶
計算¶
SPA(Single Page Application)¶
文法¶
全貌¶
/*
JavaScriptの書き方参照用 ← 複数行コメント
*/
// 変数宣言 ← 1行コメント
const PI = 3.14; // 再代入不可の変数定義
let count = 10; // 代入可能な変数定義 初期値を省略すると undefined で初期化。varの改善なのでlet推奨
// 関数宣言
function my_func(arg1, arg2) {
let ans;
ans = arg1 + arg2;
return ans;
}
// 関数宣言(無名関数をarrow演算子で定義し変数に代入)
const my_func2 = (arg1, arg2) => arg1 + arg2;
// 関数呼び出し
const answer = my_func(108, 251);
const answer2 = my_func2(108, 251);
// Node.jsでは標準出力に文字列を出力
// テンプレートリテラルにプレースホルダで式(ここでは変数)を指定
console.log(`answer = ${answer}, answer2 = ${answer2}`);
変数¶
定数と変数¶
- const で定数(再代入不可)
- let で変数(再代入可)
- var は非推奨
スコープがブロックではなく関数、宣言前に代入できてしまうなど問題が多いため
データ型¶
- プリミティブ型
- Boolean: true または false
- Number: 数値型のデータ(IEEE 754形式)
- BigInt: 任意精度の整数
- String: 文字列
- Undefined: undefine値のみを取る。未定義を意味する
- Null: null値のみを取る。値が存在しないことを意味する
- Symbol: 一意で不変な値
- オブジェクト
リテラル¶
- 文字列リテラル: ダブルクォート、シングルクォート、またはバッククォートで囲った文字列
- Boolean: trueとfalse
- Number: 整数リテラル(例: 987)、浮動小数点数リテラル(例: 2.768, 2e3)
- 2進数は先頭に0b、8進数は先頭に0o、16新数は先頭に0xを付けた数値
- BigInt: 整数リテラル(例:2483597104951439782n)
- オブジェクトリテラル: { key: value } の形式、key には文字列またはSymbol
- 正規表現リテラル: /パターン/フラグ
演算子¶
等値演算子(==, !=)¶
- 両辺がオブジェクトの場合、同じオブジェクトを指す場合 true
- nullとundefinedの比較はtrue
- 型が異なるときは、型変換を試みる
厳密等価演算子(===, !==)¶
- 前述の等値演算子との主な違いは、型が異なるときは型変換を試みずにfalse
関数¶
関数宣言文¶
function double(n) {
return n * 2;
}
- 再宣言ができてしまう、巻き上げあり
関数式¶
アロー関数式¶
const double = (n) => n * 2;
- 引数が1つのときは、丸括弧を省略可だが推奨せず
- 本文がreturn文のみのときは、returnキーワードの省略可
引数¶
- デフォルト引数あり
その他¶
型安全・型システム¶