2016-02-14 11 views
7

Podczas wymieniania właściwości obiektu w konsoli Chrome natknąłem się na zapisy, których nigdy wcześniej nie widziałem. Rzeczywiście, niektóre właściwości zostały opisane przy pomocy notacji <angle-brackets-properties> i [[double-square-brackets-properties]]. Czy ktoś może rzucić nieco światła na:Właściwości obiektu konsoli Chrome wyświetlane z kątami i nawiasami kwadratowymi

  • Co te zapisy są dla
  • Jakie są konsekwencje, jeśli chodzi o zachowanie/modyfikatory tych właściwości (przeliczalny, zapisu, konfigurować itp)
  • czy uda być reprodukowane przez czystych operacji javaScript, lub jeśli jest to można osiągnąć tylko dzięki natywnym C++ obiektów
  • Kiedy to zostało wprowadzone (ECMAScript niespełniającego)

Ty wi Znajdziesz przykład poniżej: enter image description here

Odpowiedz

2

Większość z tego, o co pytasz, to odpowiedź here. Tak jak w tej odpowiedzi, powiem dalej: specyfikacja:

Są one zdefiniowane w tej specyfikacji wyłącznie w celach związanych z prezentacją. Implementacja ECMAScript musi zachowywać się tak, jakby była produkowana i operowana na wewnętrznych właściwościach w sposób opisany tutaj. Nazwy właściwości wewnętrznych są ujęte w podwójne nawiasy kwadratowe [[]]. Gdy algorytm używa wewnętrznej właściwości obiektu, a obiekt nie implementuje wskazanej właściwości wewnętrznej, generowany jest wyjątek TypeError.

Powiązane problemy