Promiseチェーンの実行される順番が良く分からないのですが
コード1 / 期待通り
"use strict";
var obj = new Promise(function (resolve, reject) {
reject('テスト')
})
obj.catch(function (e) {
})
console.log(obj);
Promise {[[PromiseStatus]]: "rejected", [[PromiseValue]]: "テスト"}
コード2 / 期待通りではない
"use strict";
var obj = new Promise(function (resolve, reject) {
reject('テスト')
}).catch(function (e) {
})
console.log(obj);
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
コード3 / 期待通りではない
・コード2がうまくいかなかったのは実行順番に問題があると思い、全体を()で囲った内容を変数へ格納するよう変更
"use strict";
var obj = (
new Promise(function (resolve, reject) {
reject('テスト')
}).catch(function (e) {
})
)
console.log(obj);
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
質問
・コード3 が コード1 と同じ結果にならないのは何故でしょうか?