goog.provide(namespace)
проверит каждое разделенное точками имя, начинающееся слева, и создаст свойство, указывающее на новый литерал объекта, эквивалентный учебнику , который вы предоставили выше.Следовательно, вы правы, что notepad.js технически не требует включения goog.provide('tutorial.notepad')
, поскольку goog.provide('tutorial.notepad.Note')
обеспечит существование цепочки объектов tutorial.notepad
.
Однако, помимо определения объекта Note
с функцией-членом makeNoteDom
, notepad.js также определяет служебную функцию makeNotes
, которая является членом пространства имен tutorial.notepad
.Включение goog.provide(tutorial.notepad)
означает, что notepad.js обеспечивает функциональность уровня пакета в дополнение к определению объекта Note
.