Каждый раз, когда вы вызываете new someClass()
, создается новый экземпляр someClass. Ключевое слово «new» заставляет уникальную «копию» класса генерировать новую, уникальную копию (экземпляр).
Когда вы выполняете getOrSetOrWhatever()
, прикованный к new someClass()
как:
let s = new someClass().getOrSetOrWhatever()
Тогда переменная "s" будет содержать результат getOrSetOrWh независимо от того, что возвращает эта функция.
HOWEVER , экземпляр, созданный new someClass()
, будет существовать, но недоступен , потому что он никогда не был назначен переменной (потенциальная утечка памяти) - только результат getOrSetOrWh независимо от того, что возвращается.
Цепочка передает то, что сгенерировано / возвращено слева направо.
foo().bar()
// is like:
// foo() --> bar()
// or
// the method "bar" is within "foo"
Когда вы не выполняете цепочку, как в:
let s = new someClass();
let foo = s.getOrSetOrWhatever();
Затем экземпляр присваивается переменной s
, а foo
присваивается тому, что возвращает "getOrSetOrWhwhat",