プロジェクト

全般

プロフィール

JavaScript

実行環境

Webブラウザ上で実行

JavaScriptとHTMLファイル
JavaScript規格(EcmaScript)のメモもこちらに記載

スタンドアロンのマシン上で実行

Node.js

ライブラリ

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キーワードの省略可

引数

  • デフォルト引数あり

その他

型安全・型システム

TypeScript


22日前に更新