<目次>
(1) JavaScriptのletとは?変数宣言で使われるletの意味やサンプルプログラム
(1-1) letとは?
(1-2) letのサンプルプログラム
(1-3) 参考:スコープの種類
(1) JavaScriptのletとは?変数宣言で使われるletの意味やサンプルプログラム
(1-1) letとは?
JavaScriptで「ブロックスコープ」内で有効なのローカル変数を定義する際に変数の前につけるキーワードです。
(1-2) letのサンプルプログラム
実際に簡単なプログラムを使って動作確認してみます。こちらはX=のテキストボックスに数字を入れてボタンを押すと、その二乗(X*X)を計算して表示するプログラムです。
if文の中で、変数x1を「var」&x2を「let」で宣言した際に、それぞれif文の外でも結果を表示できるか?をチェックしています。
(図131)「var x1」は正常に処理されるが、「let x2」はエラーになる。
x1 – ブロックスコープ内 | OK(参照可能) |
x2 – ブロックスコープ内 | OK(参照可能) |
x1 – ファンクションスコープ内 | OK(参照可能) |
x2 – ファンクションスコープ内 | NG(参照不可能) |
function Multiply(){ let x0 = $('#xnum01').val(); if(x0 >= 0){ //# Xを2乗する var x1 = Math.pow( $('#xnum01').val() , 2 ); let x2 = Math.pow( $('#xnum01').val() , 2 ); //# var&ブロック内 → OK console.log("x1_block_scope="+x1) $('#result1_blscope').text(x1); //# let&ブロック内 → OK console.log("x2_block_scope="+x2) $('#result2_blscope').text(x2); } //# var&ファンクション内 → OK console.log("x1_function_scope="+x1) $('#result1_fnscope').text(x1); //# let&ファンクション内 → NG console.log("x2_function_scope="+x2) $('#result2_fnscope').text(x2); }
(1-3) 参考:スコープの種類
var myName = "Rainbow"; function testFunc(){ //# 変数myNameはtestFunc内で使用可能 } //# 変数myNameはtestFunc外でも使用可能
function testFunc(){ var myName = "Rainbow"; //# 変数myNameはtestFunc内で使用可能 } //# 変数myNameはtestFunc外では使用不可
{ var x = 1; let y = 2; } //# xはここからアクセス出来る //# yはここからアクセス出来ない
(表)
x1 – ブロックスコープ内 | OK(参照可能) |
x2 – ブロックスコープ内 | OK(参照可能) |
x1 – ファンクションスコープ内 | OK(参照可能) |
x2 – ファンクションスコープ内 | NG(参照不可能) |