2
1

JavaScriptで、宣言した関数がコンソールに関数がそのまま表示される

Posted at

はじめに

JavaScript初心者です。
変数に入れた関数がそのままコンソールに表示されてしまう現象で詰まりました。

実際にコンソールに出てきた表示

スクリーンショット 2024-07-22 223900.png

問題

発生したコードは以下です。

const getStudyRecord = async () => {
  const data = await supabaseClient
    .from('study-record')
    .select("*");
  return data;
};

console.log(getStudyRecord); // # はじめに で表示されてしまった箇所

原因

関数を代入した変数に()をつけ忘れていました。

console.log(getStudyRecord()); // Promiseが表示される(期待通り)

どうやら関数を代入した変数をコンソールに表示すると、関数の中身がそのまま表示されてしまうようです。なんじゃそりゃ

最後に

過去のコードを確認してみたら、アロー関数を代入した変数には必ず()を付けていました。
変数から関数に切り替えるという意識を持つのがいいのでしょうか……

今までほぼJava周辺の似たような言語しかやってきておらず、JavaScriptのようなモダンな言語に触ると混乱するのが自分の弱みだなと実感しました。

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1