Firebase Cloud FireStore: вставка большого массива

Нет, не все это объект в JavaScript. Многие вещи, с которыми вы регулярно взаимодействуете (строки, числа, булевы), являются примитивами, а не объектами. В отличие от объектов, примитивные значения неизменяемы. Ситуация осложняется тем, что эти примитивы имеют обертки объектов (String, Number и Boolean); эти объекты имеют методы и свойства, а примитивы - нет, но у примитивов, как представляется, есть методы, потому что JavaScript молча создает объект-оболочку, когда код пытается получить доступ к любому свойству примитива.

Например, рассмотрим следующее Код:

var s = "foo";
var sub = s.substring(1, 2); // sub is now the string "o"

За кулисами s.substring(1, 2) ведет себя так, как если он выполняет следующие (приблизительные) шаги:

  1. Создает обертку String объект из s, эквивалентный использованию new String(s)
  2. Вызвать метод substring() с соответствующими параметрами объекта String, возвращенного на шаг 1
  3. Утилизировать String object
  4. Вернуть строку (примитив) из шага 2.

Следствием этого является то, что, хотя кажется, что вы можете назначать свойства примитивам, это бессмысленно потому что вы не можете их получить:

var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined

Это происходит потому, что свойство эффективно определено на объекте String, который сразу же отбрасывается.

Номера и булевы также ведут себя таким образом. Функции, однако, являются полностью реализованными объектами и наследуются от Object (фактически Object.prototype, но это еще одна тема). Таким образом, функции могут выполнять любые объекты, включая наличие свойств:

function foo() {}
foo.bar = "tea";
alert(foo.bar); // tea
1
задан Iwan Pieterse 20 February 2019 в 16:36
поделиться

1 ответ

Это почти наверняка будет быстрее, если вы просто загрузите файл (возможно, в облачное хранилище) и выполните операции с базой данных в облачных функциях или каком-либо другом бэкэнде, и он завершится, даже если пользователь выйдет из приложения.

0
ответ дан Doug Stevenson 20 February 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: