Class 语法与 export default 配合使用自然,适合导出核心类(如组件、工具类),导入时不加花括号、名称自由;推荐声明时导出或先定义后导出,禁用匿名类立即实例化,可与命名导出共存但建议统一风格。

Class 语法和 export default 配合使用非常自然,适合导出一个核心类(比如组件、工具类或实体类),导入时名称自由、语义清晰。
怎么写:两种推荐写法
✅ 推荐方式一:声明类的同时默认导出(简洁直观)
export default class Button {constructor(text) {
this.text = text;
}
render() { return ``; }
}
✅ 推荐方式二:先定义类,再默认导出(利于调试和复用)
class ApiClient {constructor(baseURL) { this.baseURL = baseURL; }
get(url) { return fetch(this.baseURL + url); }
}
export default ApiClient;
⚠️ 不推荐写法:导出匿名类并立即实例化(失去类型可读性)
export default class {}(); // ❌ 错误:导出的是实例,不是类构造器怎么导入:不加花括号,名字自定
导入时完全不用关心原类名,变量名由你决定:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
import Client from './ApiClient.js';
const btn = new MyButton('提交');
const api = new Client('/api');
注意:路径必须带 .js 后缀(浏览器原生模块要求),且 script 标签需声明 type="module"。
能和命名导出一起用吗?可以但慎用
技术上允许,例如:
export default class User { /* ... */ }export const ADMIN_ROLE = 'admin';
export function isValid(user) { return user.id > 0; }
对应导入写法:
import User, { ADMIN_ROLE, isValid } from './user.js';但实际项目中建议统一风格:单个主类就只用 export default;若模块提供多个工具函数+一个主类,更推荐全用命名导出,避免混淆。
常见报错提醒
- 在一个文件里写了两个
export default→ 语法错误 - 导入时写了
import { Button } from './Button.js'→ 报错,这是命名导出语法 - 双击 HTML 文件打开 → 浏览器因 CORS 拒绝加载模块 → 改用本地服务器(如 VS Code Live Server)
- 没加
type="module"的 script 标签 → 报Unexpected token 'export'
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










