Posted at

【JavaScript】JavaScriptを初めから

More than 1 year has passed since last update.

備忘録チックに学習したことをまとめます。ES2015対応。

実行はnode.jsでやっています。node.jsの環境構築はこちら


Hello World


hw.js

console.log("Hello World!");

// Hello World!


変数


var

variable 文は変数を宣言し、任意でそれをある値に初期化する。


var.js

var message;

message = "Hello World!";
console.log(message);
// Hello World!


let

let 文はブロックスコープの局所変数を宣言し、任意でそれをある値に初期化する。

varはブロック外にもスコープを持つが、letはブロック外にスコープを持たない。


let.js

if(true){

var message = "in block var";
console.log(message);
// in block var
}
console.log(message); // ここでもmessageが参照できる。
// in block var

if(true){
let message2 = "in block let";
console.log(message2);
// in block let
}
console.log(message2); // ここではmessage2は参照できない
// ここでReferenceError



let2.js

var message = "out block var"

if(true){
var message = "in block var"; // 同じ変数となるため、上書きされてしまう。
console.log(message);
// in block var
}
console.log(message);
// in block var

var message2 = "out block let"
if(true){
let message2 = "in block let"; // ブロック内の固有の変数となる。
console.log(message2);
// in block let
}
console.log(message2);
// out block let



データ型


  • 文字列

var str = "string";


  • 数値

var num = 100;


  • オブジェクト(関数・組み込みオブジェクト)

var obj = {hoge:"ho", fuga:"fuga"};

オブジェクト・関数については詳細は後述


  • undefined : 定義されていない

  • null : なにもない


nullとundefinedの違い

ここが参考になった


テンプレートリテラル

`(バッククォート)を利用することで改行コードなしで記述可。


tl.js

console.log(`line one

line two
line three`
);
// line one
// line two
// line three


オブジェクト


関数


無名関数


アロー演算子による記述