はじめに
JavaScript初心者です。
変数に入れた関数がそのままコンソールに表示されてしまう現象で詰まりました。
実際にコンソールに出てきた表示
問題
発生したコードは以下です。
const getStudyRecord = async () => {
const data = await supabaseClient
.from('study-record')
.select("*");
return data;
};
console.log(getStudyRecord); // # はじめに で表示されてしまった箇所
原因
関数を代入した変数に()
をつけ忘れていました。
console.log(getStudyRecord()); // Promiseが表示される(期待通り)
どうやら関数を代入した変数をコンソールに表示すると、関数の中身がそのまま表示されてしまうようです。なんじゃそりゃ
最後に
過去のコードを確認してみたら、アロー関数を代入した変数には必ず()
を付けていました。
変数から関数に切り替えるという意識を持つのがいいのでしょうか……
今までほぼJava周辺の似たような言語しかやってきておらず、JavaScriptのようなモダンな言語に触ると混乱するのが自分の弱みだなと実感しました。