質問: 掲題の通りです。 ``` promise() .then((response) => console.log(response)); ``` 上記が成功するのはわかります。 ``` promise() .then(console.log); ``` これだと、結果受け取っていないように思われるため、どうして成功するのかわかりません。 これがどのような省略記法なのか、教えていただきたいです。 よろしくお願いします。
回答: then()は、関数を受け取り、その関数にresponseをセットして呼び出すからだと思います。 〜.then(hoge)という呼び出しに対して、 Promiseの内部では、 ``` hoge(response); ``` が呼び出されるということです。 一つ目の例を、 ``` const func = (response) => {console.log(response)); promise.then(func); ``` と置きかえると、 ``` func(response); //console.log(response);の呼び出し ``` が呼び出されることになり、 結果としては、質問の二つのソースは同じ意味になりますね。