Угловой: Разница между Экспортом и Публичным Классом? - PullRequest
0 голосов
/ 30 сентября 2019

В Angular, в чем разница между классом экспорта и открытым классом?

"Угловой импорт / экспорт используется для того, чтобы сделать содержимое одного модуля доступным для использования в другом модуле. Так какэто отличается от открытого класса? "

Справочный вопрос: Каково точное значение ключевого слова экспорта в Angular 2 \ TypeScript?

Пример:

export class Product {
constructor(
public id?: number,
public name?: string,
public category?: string,
public description?: string,
public price?: number) { }
}

1 Ответ

0 голосов
/ 01 октября 2019

История

ES6 / ES2015 (ECMA Script) ввел систему модулей изначально в язык. До ES6 приложения JavaScript использовали библиотеки, такие как requirejs, для реализации модульной системы.

modules

Классы, функции, константы и т. Д. Можно экспортировать из модуля и импортировать в другие модули. Что-то, что не экспортируется, является внутренним для модуля.

Несмотря на то, что TypeScript имел аналогичную концепцию до ES 2015, язык адаптирует систему модулей ES6 для обеспечения согласованности и стандартов. Узнайте больше здесь. https://www.typescriptlang.org/docs/handbook/modules.html

без модулей, прошлые приложения использовали элементы «сценария», тщательно упорядоченные, так что сначала что-то объявлялось, а затем использовалось в следующих нескольких файлах. Также что-то, объявленное в предыдущем файле сценария, не переопределяется новой переменной.

Классы

С другой стороны, класс - это объектно-ориентированная концепция программирования, которая инкапсулирует состояние(поля) и поведение (функции). Модификаторы доступа управляют доступностью полей в экземпляре класса. Общедоступный (по умолчанию), закрытый (внутренний для класса) и защищенный (доступный внутри класса и производных классов). Подробнее здесь: https://www.typescriptlang.org/docs/handbook/classes.html#classes

Сводка

Вкратце, импортирует классы из модуля, создает экземпляр, использует открытые методы и свойства. Мы также можем импортировать функции, константы, перечисления и т. Д. Они могут быть частью модуля. Может не обеспечивать инкапсуляцию и абстракцию как классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...