uploaded:2021/11/12

Private Chamber - JavaScript

 ノーコメント.

性質

・大文字と小文字を区別する.
・文末にはセミコロンを使う(単独の文の場合は不要).
・変数の型は自動で変わる.
・足し算でのみストリング型と数値型の結合を担う. 引き算などは文字列が数であれば計算されてしまう.
・バッククォートで囲んだ文字列に「${変数}」と書いて足し算を用いてつなぐ必要がなくなる.

データ型

備考
Booleanブーリアン型, true または false.
null 
undefined 
Number数値, 20 や 3.1415 など
BigInt長整数, 9007199254740992n など
Stringストリング型, "Hello" など
Symbol 
Objectオブジェクト.

具体的な構文

コメントアウト

//コメント

/*
複数行コメント
*/

変数定義

 varは基本の変数、letは宣言した場所のスコープブロック内でのみ定義され、constは定数で後から中身を変更できない。
「var a;」といったように、初期値なしで定義した場合、中身の値は「undefined」になる。

var a = 1;
let b = 1;
const c = 1;

関数

 下の「関数式」では「関数の巻き上げ」に対応しておらず、その文より下でないとその関数が使えない。

function f(x) {
  //処理;
  //return 戻り値;
};

var g = function() {
  //処理;
};

アロー関数

//従来の関数
function f(x,y) {
  return x + y;
};

//アロー関数
(x,y) => x + y;

条件分岐

・falseと評価される値
「false」「undefied」「null」「0」「NaN」「""」

if(条件){
  //処理;
} else {
  //処理;
}

if(条件){
  //処理;
} else if(条件){
  //処理;
} else {
  //処理;
}

switch文

switch(a){
  case "apple":
    console.log("red");
    break;
  case "lemmon":
    console.log("yellow");
    break;
  default:
    console.log(`I don't know about the color of the ${a}...`);
}

繰り返し処理

while(条件){
  //処理;
}

 または

for(let k = 0; k < 5; k++){
  //処理;
}

 条件がfalseになるまで繰り返す場合:

do{
  //処理;
}while(条件);

クラス定義

class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
}

new演算子

const square = new Rectangle(3,4);

console.log(square.width);  // 4

ユーティリティ

配列リテラル

 下の場合、二つ目の値はundefinedになる。

let a = [ "apple", "banana", "lemmon" ];
let b = [ "dog", , "cat" ];
console.log(a[0]); //apple

数値リテラル

 Number型、BigInt型において、「0o~」で8進数、「0x~」で16進数、「0b~」で2進数。

浮動小数リテラル

 整数部分がゼロの場合は省略できる。「e」または「E」で指数表現ができる。

3.1415926
-.123456789
-3.1E+12
.1e-23

オブジェクトリテラル

var food = { type: "fruits", color: "red", taste: "sweet" };
console.log(food.type); //fruits

文字列のライフハック

 文字列Aを文字B(ストリング)で分ける(Bは消える)(返り値はアレイ)

let x = A.split(B);

 文字列Aが数値でないかどうか

let x = isNaN(A);

 文字列Aに含まれる文字列Bを文字列Cに置き換える

let x = A.replace(B, C);

 文字列Aを数値型に変える

let x = Number(A);

アレイのライフハック

 アレイAの長さ

let x = A.length;

 アレイAの末尾に要素Bを追加

A.push(B);  //メソッドなのでこの一文のみ

 アレイAの末尾の要素を削除

A.pop();  //メソッドなのでこの一文のみ

 アレイAの先頭の要素を削除

A.shift();  //メソッドなのでこの一文のみ

 アレイAをA[B]からA[C]までのアレイにする

let x = A.slice(B,C);

数値のライフハック

 数値AをB桁の数にする

let x = A.toFixed(B);

特殊文字のエスケープ

文字意味
\0ヌル文字
\bバックスペース
\f改ページ
\n改行
\r復帰
\tタブ
\v垂直タブ
\'アポストロフィ
\"ダブルクォーテーション
\\バックスラッシュ
\uXXXXUnicodeエスケープシーケンス
constructed by: Rinca Hayamine