Warum erhält Browser zweimal Symbol.uncopables?

9

%Vor%

Ausgabe in Chrome:

%Vor%

Ausgabe in Firefox:

%Vor%

Wie ich verstehe, bezieht sich das eine auf das Lesen des Wertes und das andere auf das Zuweisen.

Es ist logisch, dass a-- an dieselbe Stelle schreiben sollte, von der a gelesen wurde. Nein, ist es nicht.

Aber wenn wir Wert für Symbol.unscopables zweimal erhalten, dann deutet dies darauf hin, dass es möglich ist, ein Objekt zum Lesen und das andere zum Schreiben zu übergeben.

Soll das wirklich so funktionieren? Was sagt die Spezifikation?

Tatsächlich funktioniert es fast in Chrome und FF - es ist möglich, von einem Objekt zu lesen und in das andere zu schreiben, aber es führt zu anderen Ergebnissen:

Update: Safari 10 liest es nur einmal.

%Vor%

PS: Gleiche Frage auf Russisch

    
Qwertiy 14.11.2016, 18:27
quelle

1 Antwort

3

Pro Spezifikation sollten @@ unscopables nur einmal für "x ++" gelesen werden, soweit ich das beurteilen kann. Siehe Details in Ссылка

Also sind sowohl Chrome als auch Firefox hier fehlerhaft. Safari bekommt das richtig.

Siehe auch Ссылка und Ссылка

    
Boris Zbarsky 20.02.2017, 16:01
quelle