> > So, ES6 Promises reflect a specific set of design decisions, including a > specific definition of "same type" that appears to exist solely for use by > Promise.resolve. All that design guarantees is that the object has an > certain specific internal slot whose value is tested in a specific way by > Promise.resolve. It doesn't guarantee that the object is a well-promise or > that it has any specific other characteristics that are expected of Foo > objects. It's hard to extrapolate from that specific design to the > underlying intent of the designer. >
I don't see any rational intent for the current design other than: Only return x if x was **constructed** by C. The current semantic is: Only return x if x was constructed by C, or any code with a reference to C arbitrarily chose that it should appear to have been constructed by C. Allowing an object to pass a nominal type test for a constructor, where the object was not initialized by that constructor seems bad. What is the use case for third argument to Reflect.construct?
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss