JavaScript 目次 - ray88’s diary
JavaScript グローバル領域 - ray88’s diary
javaScript スコープとその種類 - ray88’s diary
■ブロック:ステートメントをグループ化したもの
※varキーワードにより宣言された変数はブロックスコープをもつことができない。
※関数スコープまたはグローバルスコープの変数はletキーワードによる宣言でも
実現可能なためvarキーワードを使用する必要はない、
【構文①】
{ //処理 }
※if文などの条件式の結果として実行する範囲やfor文などの反復の対象範囲は波カッコで囲うが、それらも全てブロックである。
ブロック内部のletキーワードもしくはconstキーワードによる変数および定数はブロックスコープを持つ。
例えば、if文の構文はブロックを用いて以下の様に表現できる
if(条件式)ブロック
もし、ブロック内のステートメントがひとつの場合、波カッコでグループ化の必要はなくなるので波カッコは省略可能。
波カッコの省略はif文に限らず、ブロックを用いて記述できる分岐や反復の各構文でも同様。
if(条件式) ステートメント
【サンプルコード】
function myFunction(){ let num = 1; for(let i = 1; i <= 10; i++){ num *= 2; console.log(`iの値:${i},numの値:${num}`); //波カッコを省略してif文を1行で記述 if(num > 50) break; } }
■関数定義の際の波カッコの省略について
function文、関数リテラル、メソッド構文等では省略不可。
アロー関数であればステートメントが1つの時に省略可能。