プログラミング初心者です。
javascriptの変数宣言に関して下記、2点質問させていただきます。
#変数宣言ごとの特徴に関して
javascript では、下記の宣言がありそれぞれ次のような特徴があると認識しております。
間違いがありませんでしょうか。
宣言子 | var | let | const |
---|---|---|---|
再宣言 | 可能 | 不可 | 不可 |
再代入 | 可能 | 可能 | 不可 |
スコープ | 関数 | ブロック | ブロック |
#スコープに関して
下記のように、関数の中で関数を呼び出す際、
親になっている関数で定義した定数(MoringWord, AfternoonWord)は、
関数getWordでは、定義されてないことになると思うのですが、どうすればよいでしょうか。
javascript:タイトル
1function Greeting(){ 2 var MoringWord= "Good Morning"; 3 var AfternoonWord= "Good Afternoon"; 4 let Word= getWord("10時"); 5}; 6 7function getWord(time){ 8 switch (time){ 9 case "10時": 10 return MoringWord; //変数宣言できていない 11 break; 12 case "16時": 13 return AfternoonWord; //変数宣言できていない 14 break; 15 } 16}; 17
下記のようにすれば、実現は可能かと考えているのですが、他に方法等ありますでしょうか。
・MoringWord, AfternoonWordをGreetingの外に出す。(グローバル変数にする)
・MoringWord, AfternoonWordを関数getWordの引数に持つ。
また、この関数の中関数を呼び出す方法がそもそもおかしいのであれば、ご指摘いただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/19 11:01