你提到的这种 **使用 `export` / `import` 实现模块化编程** 的方式,在 **JavaScript 中叫做模块系统(module system)**,它在 Java 和 Python 中也有对应的等价写法。 下面我们来类比一下这段 JS 代码在 **Java 和 Python** 中的等价写法。 --- ## 🟡 JavaScript 模块化代码 ```js // file.js export const MY_VALUE = 10; export function add(num1, num2) { return num1 + num2; } // file.spec.js import { MY_VALUE, add } from './file'; add(MY_VALUE, 5); // => 15 ``` --- ## 🔵 Java 中的等价写法 ```java // File.java public class File { public static final int MY_VALUE = 10; public static int add(int num1, int num2) { return num1 + num2; } } ``` ```java // FileTest.java public class FileTest { public static void main(String[] args) { int result = File.add(File.MY_VALUE, 5); System.out.println(result); // 输出 15 } } ``` ### ✅ 对应关系说明 - `export` 相当于 `public`(可在其他类访问) - `const` 相当于 `final`(不可变) - JS 的模块文件 `file.js` 相当于 Java 的类文件 `File.java` --- ## 🟢 Python 中的等价写法 ```python # file.py MY_VALUE = 10 def add(num1, num2): return num1 + num2 ``` ```python # file_test.py from file import MY_VALUE, add result = add(MY_VALUE, 5) print(result) # 输出 15 ``` ### ✅ 对应关系说明 - `export` 是显式写出来的,而 Python 默认所有定义的函数和变量都可以被导入(相当于默认 export) - `import` 使用 `from... import...` 或 `import file` --- ## 🧠 总结类比表 |概念|JavaScript|Java|Python| |---|---|---|---| |定义常量|`export const MY_VALUE = 10`|`public static final int MY_VALUE = 10`|`MY_VALUE = 10`(约定为常量)| |定义函数|`export function add()`|`public static int add()`|`def add()`| |导出|`export`|`public`(类或方法)|默认导出(可用 `__all__` 限制)| |导入|`import { a } from './file'`|`import otherClass.method()` 或 `ClassName.METHOD`|`from file import a` 或 `import file`| --- 如果你想深入学习 JavaScript 模块系统的实现方式(比如 ESM vs CommonJS),也可以继续聊~或者我们可以对比模块的运行机制。需要我继续吗?