Когда вы пишете функцию расширения, вы можете написать ее , как если бы вы были внутри класса в реальном методе. Таким образом, внутри расширения на Shop
, this
относится к экземпляру Shop
, к которому было вызвано расширение, и this.customers
также доступен (поскольку он общедоступный, вы не можете получить доступ к закрытым членам в расширении).
Тогда, как и внутри класса, вы также можете опустить this
при ссылке на свойство или функцию того же класса, следовательно, просто customer
в расширении.