【JavaScript】JavaScriptを初めから


備忘録チックに学習したことをまとめます。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

オブジェクト

関数

無名関数

アロー演算子による記述