Чтобы понять разницу между двумя ключевыми словами, вы должны понять, откуда они взялись. Ключевые слова «экспорт» и «экспорт» взяты из популярной концепции модулей.

что такое модули в Javascript?

В JavaScript модули — это способ организовать и структурировать код, разбивая его на более мелкие повторно используемые компоненты. Модули позволяют разработчикам инкапсулировать функциональность, изолировать переменные и функции, а также более эффективно управлять зависимостями, способствуя сопровождению и повторному использованию кода. В JavaScript существуют разные модульные системы и форматы, и их использование зависит от среды и используемой версии JavaScript. Двумя наиболее распространенными модульными системами являются модули CommonJS и ECMAScript (ES).

Где используется ключевое слово "экспорт"?

Ключевое слово «экспорт» используется в CommonJS, модульной системе, в основном используемой в серверных средах JavaScript, особенно в Node.js. Он следует синхронному подходу к загрузке модулей, при котором модули загружаются и оцениваются один за другим перед выполнением следующего оператора.

Чтобы экспортировать значения (функции, объекты или переменные) из модуля CommonJS, вы используете ключевое слово «экспорт». Например:

//math.js
exports.add = function(a, b) {
 return a + b;
};

Чтобы импортировать и использовать эти функции в другом файле, мы используем оператор «require». Например:

// main.js
const math = require('./math');

console.log(math.add(2, 3)); // Output: 5
console.log(math.subtract(5, 2)); // Output: 3

Где используется ключевое слово "экспорт"?

«Экспорт» используется в модулях ECMAScript (ES) — системе модулей, представленной в ECMAScript 2015 (ES6) и более поздних версиях JavaScript. Он изначально поддерживается современными средами JavaScript (браузерами и Node.js) и обеспечивает более гибкий и мощный подход к работе с модулями по сравнению с CommonJS.

В модулях ES вы используете ключевые слова «импорт» и «экспорт» для определения и использования модулей. Например:

// math.js
export function add(a, b) {
  return a + b;
}
// main.js
import { add } from './math';
console.log(add(2, 3)); // Output: 5

Кроме того, в модулях ES6 вы можете использовать синтаксис export default для экспорта одного значения в качестве экспорта по умолчанию из модуля.

Например:

// math.js
const PI = 3.14159;

export default PI;
// main.js
import PI from './math';

console.log(PI); // Output: 3.14159

заключение

Таким образом, exports используется в модулях CommonJS (Node.js) для экспорта значений, тогда как export используется в модулях ES6 для экспорта значений, а export default используется для экспорта одного значения по умолчанию из модуля.