スコープの考え方

function saySomething(callback){
   const result = callback();
   console.log(`${result}、花子!`);

   
   }
   
   function bye(){
      return "さようなら";
      }
   
   let bye = "aaaa";

   saySomething(bye);

関数名がbyeのものがあるのにその下にlet bye や const bye
のように同じ名前の変数や定数を宣言することはできない

逆に変数名が上で下に同じ名前の関数も定義できない。
これは、変数 bye が既に存在しており、同じスコープで再度変数として宣言されることはできないため。したがって、エラーが発生する。

この記事を書いた人

ともひろ