javascript

javascript const

jsではES6からconstによって定数の宣言が可能。 constで宣言することで再代入禁止になる。 const test = 'test'; test = 'test2';//エラー 以下のような例はエラーにならない。 const arr = [1, 2, 3]; arr[0] = 2; console.log(arr);//[2, 3, 5]

javascript let

jsのES6でブロックスコープが利用可能になった。 ブロックスコープの変数を宣言するにはvarではなくletを使用する。 letは、同じスコープ内の変数の重複を認めない。 if(true) { let test = 'test'; //let test = 'テスト';//重複エラー console.log(test);/…

javascript prototype_chain

jsで継承を行う仕組みとしてプロタイプチェーンがある。 var Car = function() {}; Car.prototype = { getOwner : function() { console.log('Owner is', this.owner); } }; var SmallCar = function(owner) { this.owner = owner; }; // 継承したいオブジェ…

javascript prototype

jsにはクラスが無く、プロトタイプを使って オブジェクト指向のような実装を行う。なお、 ECMAScript6ではクラスの概念が用意されている。 // コンストラクタ var Beef = function(name, type) { this.name = name; this.type = type; }; // prototypeプロパ…

javascript closure

jsのクロ―ジャとは 「ローカル変数を参照している、 関数の中に定義している関数」 function countNum(num) { var local_num = num; var local_func = function() { return local_num++; } return local_func; } var myCountNum = countNum(10); console.log…

javascript primitive

jsのプリミティブ型 ・真偽値 boolean ・文字列 string ・null値 null ・未定義値 undefined プリミティブ型は、通常は値そのものだが、 一時的にオブジェクトになるケースがある。 なお、nullとundefinedは常にプリミティブ型。 var num1 = 100; var num2 =…

javascript new

newは「オブジェクトのインスタンスを返却せよ」と、 コンストラクタに命令する演算子。 new使用時と不使用時の比較 var hello = function(name) { this.name = name; this.say = function() { return 'hello! ' + this.name; } } var hello1 = new hello('…

javascript object

オブジェクトはプロパティとメソッドで構成されている。 var cat = {}; cat.name = 'neko';//プロパティ cat.age = 3; cat.sex = 'M'; cat.getInfo() {//メソッド return cat.name + ' ' + cat.age + ' ' + cat.sex; } console.log(cat.getInfo()); 上記と同…

javascript var

javascriptでは、varを使わずに宣言した変数はグローバル変数になる。 変数宣言は必ずvarを使用すること。 なお、ECMAScript6では、var以外にlet、constがある。 var不使用バージョン v = 'global'; function getV() { v = 'local'; return v; } console.log…