JavaScript(3)


'use strict'/Variable/Block scope/Constant



'use strict'

//1. Use strict
//added in ES 5
//use this for valina Javascript.
'use strict';
JavaScriptを使用する場合は、上部に「use strict」と書くとよいでしょう.JavaScriptは柔軟な言語で使いやすいですが、危険です.ECMAScript 5から追加します.
a = 6;
宣言されていないaという変数に値を指定すると、ブラウザで問題は発生しません.
'use strict';
a = 6;
「use strict」を使用すると、aが定義されていないとエラーが発生します.
'use strict';
let a;
a = 6;
aを定義すると、エラーは消えます.
このようにvanilla JavaScriptで開発する場合は、ファイルの上部に「use strict」を宣言し、strictモードで開発することを推奨します.常識の範囲内で使用でき、JavaScriptエンジンはより効率的に迅速に分析できます.

かへん

// 2. Variable, rw(read/write)
// let (added in ES6)

    let name= 'ellie';
    console. log(name);
    name= 'hello';
    console.log(name);
変数はletを使用して変更可能な値として変数を追加します.letを使用してnameという変数を宣言し、値「ellie」を指定すると「ellie」が出力されます.また、nameという名前の変数が値「hello」を割り当てると、それを「hello」に変更して出力します.

Block scope

{
    let name= 'ellie';
    console. log(name);
    name= 'hello';
    console.log(name);
}
console.log(name);
blockscopeがblockを使用してblockにコードを記述すると、block以外にblockの内容は見えません.
ただし、ファイルで直接定義して使用する変数は「global scope」と呼ばれ、ブロックを書き込むことなく、どこからでもアクセスできます.
let globalName = 'global name';
{
    let name= 'ellie';
    console. log(name);
    name= 'hello';
    console.log(name);
    console.log(globalName);
}
console.log(name);
console.log(globalName);
グローバル変数は、アプリケーションが実行されるまでメモリに存在するため、最小限に抑えることが望ましい.

let vs.var(書かないで!!)


varが使えない理由...
まず、宣言する前に値を指定できます.
ほとんどのプログラミング言語では、宣言と付与が行われます.でもvarでは
console.log(age);
age = 4;
var age;
このように、まだ声明に間に合わないうちに値をつけることができます.宣言後の付与は正常です.このようなものはvar昇進と呼ばれ、どこにいても宣言を一番上に引っ張っています.
第二に、「block scope」を無視します.
{
age = 4;
var age;
}
console.log(age);
varはブロックに関係のない出力であるため、容易に符号化できるが、宣言されていない値が割り当てられて出力される.

Constant

// 3. Constant(read only/Immutable)
// use const whenever possible.
// only use let if variable needs to change.
// favor immutable data type always for a few reasons;
// -security
// -thread safety
// -reduce human mistakes
	const daysInWeek= 7;
	const maxNumber= 5;
変数の値が変わらない場合はconstを使用します.