推荐用let/const单行声明或解构赋值设默认值:let name='张三',age=25; const {name='匿名',age=18}={}; 函数参数可直接解构设默认值,避免var及a=b=0等错误写法。

JavaScript 中声明多个变量并初始化默认值,有多种写法,核心是兼顾可读性、简洁性和兼容性。推荐优先使用 解构赋值(ES6+)或 单个 let/const 声明多个变量,避免用逗号分隔的 var 声明(易引发变量提升和作用域混淆)。
用 let/const 一次性声明多个变量(最直观)
适合变量类型不同、初始值明确且无依赖关系的情况:
let name = '张三', age = 25, isActive = true;
const PI = 3.14159, MAX_RETRY = 3, API_URL = 'https://api.example.com';
- 每个变量都显式初始化,避免
undefined - 注意:不能混用
let和const在同一语句中 - 不推荐用
var,因变量提升可能导致意外行为
用解构赋值设置默认值(推荐用于对象/数组)
当从对象或数组中提取值,并希望未提供时使用默认值,解构赋值最灵活:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
const { name = '匿名', age = 18, city = '未知' } = user || {};
const [first = '默认1', second = '默认2'] = items || [];
- 右侧必须是对象或数组,否则报错;加
|| {}或|| []可防空值 - 默认值在解构时才生效,支持表达式,如
count = getDefaultCount() - 适合配置项、函数参数解构等场景
函数参数中批量设默认值(实用高频)
定义函数时直接为参数指定默认值,调用时更简洁安全:
function createUser({ name = '新用户', role = 'user', level = 1 } = {}) {
return { name, role, level };
}
- 参数默认值 + 解构结合,既清晰又健壮
- 外层
= {}防止传入undefined导致解构失败 - 比手动检查
if (!options.name) options.name = '新用户'更简洁
避免常见陷阱
以下写法看似省事,但容易出错:
-
let a = b = 0;→ 实际声明了全局变量b(非预期) -
const x = y = 1;→ 报错,y未声明 - 用
var多变量声明配合||默认值:var a = obj.a || 'default', b = obj.b || 0;→ 逻辑正确但不够现代,且obj.a为0、false、''时也会取默认值(应改用??空值合并)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










