Что такое свойство @r объекта JavaScript? - PullRequest
0 голосов
/ 15 сентября 2018

Испытывая веб-редактор p5.js , я обнаружил следующее:

Web editor screenshot

Ссылка на эскиз

Если вы посмотрите на консоль, вы заметите, что выражение Array(3).fill(Array(3).fill(0));, очевидно, создает массив с 3 объектами, каждый с @r, равным 1 (и ничем иным).

Вы также можете видеть, что когда я добавляю различные объекты, используя вложенный цикл for, кажется, что ни один из массивов не обладает свойством @r.


Я понимаю, что то, что я делаю здесь, ссылается на один и тот же объект Array трижды, что может означать то, что обозначает 'r', однако я не могу видеть свойство @r, отображаемое где-либо еще.

Я пробовал то же самое в консоли Chrome и Node, но тот же код не вызывает свойства @r.

Chrome Console

Chrome console

Node

Node


HTML-фрагмент StackOverflow делает что-то более разумное, но все же нет @r:

Фрагмент HTML

let a = Array(3).fill(Array(3).fill(0));
console.log(a);

У меня следующие вопросы:

  • Что на самом деле @r?
  • Есть ли у каких-либо объектов JavaScript свойство @r?

    • Если это так

      • Почему упомянутые консоли не показывают это?
      • Есть ли способ получить доступ к @r значению объекта?
    • Если нет

      • Почему это появляется здесь?
...