Чтобы понять разницу между двумя ключевыми словами, вы должны понять, откуда они взялись. Ключевые слова «экспорт» и «экспорт» взяты из популярной концепции модулей.
что такое модули в 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
используется для экспорта одного значения по умолчанию из модуля.