If you pass a promise to either the Promise.resolve() or Promise.reject() methods, the promise is returned without modification.
I think it is confusing and try some code.
let p3 = Promise.reject("xxx");
let p4 = Promise.resolve(p3);
console.log(p3 === p4); // true. Here Promise.resolve() returns a rejected promise.
let p6 = Promise.reject(p3)
console.log(p6 === p3); // false. Here is a modification. A new rejected promise is returned.
Ch11
Creating Settled Promises
Before Non-Promise Thenables, there is a note.
I think it is confusing and try some code.
Hope this is helpful.