問題1 : let
letを使用して、適当な変数を定義してコンソールログで出力してください。
参考ソース
let message = "ありがとうございました。";
console.log(message);
問題2 : varよりletを使用した方が良い理由
下記のコードはエラーになりますか。それとも正常に動作するでしょうか。
let message = "ありがとうございました。";
let message = "失礼しました。";
エラーになります。
問題3 : varよりletを使用した方が良い理由
下記のコードはエラーになりますか。それとも正常に動作するでしょうか。
var message = "ありがとうございました。";
var message = "失礼しました。";
正常に動作して、変数が上書きされます。
問題2と問題3のようにvarとletの挙動は異なります。
同じ変数を誤って定義してしまった場合に、varは変数を上書きしてしまいます。
誤って上書きしてしまった事を、認知することができないため不具合を招きやすいです。
一方、letはエラーになってくれるので誤って同じ変数名を定義しても認知することができます。
そのためvarよりletを使用した方が良いです。
問題4 : varとletの再代入
varとletは下記のコードのように書いたとき、正常に変数を更新できるでしょうか。
var message = "ありがとうございました。";
message = "失礼しました。";
let num = 1;
num = 2;
更新できます。
messageの値は「失礼しました。」
numの値は「2」になります。
messageの値は「失礼しました。」
numの値は「2」になります。
問題2と問題3のようにvarとletでは動作が異なります。
同じ変数を定義してしまった場合、varはエラーにならないため過去に定義していた変数名と偶然名前が被って知らずに変数定義してしまった場合に
値が上書きされてしまう為、注意が必要になってきます。
同じ変数を定義してしまった場合、varはエラーにならないため過去に定義していた変数名と偶然名前が被って知らずに変数定義してしまった場合に
値が上書きされてしまう為、注意が必要になってきます。
問題5:constの再定義
下記のコードはエラーになりますか。それとも正常に動作するでしょうか?
const message = "ありがとうございました。";
const message = "失礼しました。"
エラーになります。
問題6:constの再代入
下記のコードはエラーになりますか。それとも正常に動作するでしょうか?
const message = "ありがとうございました。";
message = "失礼しました。"
エラーになります。
constは変数を更新することは出来ません。
constを使用する時は、値が上書きされることがない場合に使用します。
定数のように扱って使用します。
constを使用する時は、値が上書きされることがない場合に使用します。
定数のように扱って使用します。
コメント