IntersectionObeserver クラスの引数に、callback 関数を渡す処理がわかりません

constructor() で受け取って Post のプロパティとして保持する必要があります。
2022年1月10日
ユーザー

以前のレッスン(詳解JavaScript オブジェクト編 #31 クラスを作ってみよう)では、まず Post クラスをつくり、初期値として「JavaScriptの勉強中…」と「プログラミング楽しい!」というそれぞれの文字列を与え、2つのインスタンスを作成したかと思います。

しかし今回の動画で、前回のように「文字列」を IntersectionObeserver クラスの初期値として渡すのではなく、自分で定義した callback 関数オブジェクトを渡しています。
ここの処理がわかりません。

試しに、前回の Post クラスを改良し、以下のようなコードを試してみました。

class Post {
    show() {
        console.log('This is postClass.');
    }
}
function callback() {
    console.log('Callback!!');
}

const posts = new Post(callback);
posts.show();
posts.callback();

このコードの後ろから2行目の posts.show() は実行されましたが、最終行の callback では
posts.callback は関数ではありません」というエラーが出てしまいました。

ここで質問なのですが

  • クラスの初期値として渡されている callback がどういう挙動をしているのか
  • 私が書いたコードをどのように改良すれば Post クラスに callback 関数オブジェクトを渡せるのか

の2点について教えていただけますでしょうか?

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(7)