ES6函数语法详解:参数默认值、不定参数与箭头函数
本文详细介绍ES6中函数的三大核心扩展:参数默认值、不定参数以及箭头函数。通过具体代码示例,解析如何为参数设置默认值及处理undefined情况,阐述剩余参数语法的使用,并深入讲解箭头函数的简洁写法、单行简写规则以及返回对象时的括号包裹技巧,帮助开发者掌握现代JavaScript函数定义的最佳实践。
一、函数参数的扩展
ES6引入了参数默认值的功能,允许在定义函数时为参数指定初始值。
function fn(name,age,sex="男")
{
console.log(`大家好,我是${name},性别${sex},今年${age}岁!`);
}
fn("刘德华",45); //大家好,我是刘德华,性别男,今年45岁!当传入的参数为undefined时,将使用默认值。
function fn(name,sex="男",age)
{
console.log(`大家好,我是${name},性别${sex},今年${age}岁!`);
}
fn("刘德华",undefined,45); //大家好,我是刘德华,性别男,今年45岁!不定参数(Rest Parameters)用于接收不确定数量的参数,语法为三个点加点变量名。
function Add(...items)
{
// let sum = 0;
// for(let item of items)
// {
// sum += item;
// }
// return sum;
let sum = 0;
for(var i = 0;i< items.length;i++)
{
sum += items[i];
}
return sum;
}
let result1 = Add(1,2,3);
let result2 = Add(1,3,5,7,9);
console.log(result1); //6
console.log(result2); //25二、箭头函数
箭头函数提供了一种更简洁的函数定义方式,基本语法结构为:参数 => 函数体。
对于没有参数的箭头函数,参数部分必须保留一对空括号:
let f = ()=>{console.log("hello,world!")}
f(); //hello,world其等价于传统函数定义方式:
function f()
{
console.log("hello,world!");
}
f(); //hello,world若箭头函数仅有一个参数,参数部分的括号可以省略:
let f = num =>{
if(num%2 == 0)
return "偶数";
else
return "奇数";
}
console.log(f(50)); //偶数当箭头函数包含多个参数时,参数部分必须使用括号包裹:
let f = (a,b)=>{
let c = a+b;
return c;
}
console.log(f(2,3)); //5如果箭头函数体仅包含一条语句且需要返回结果,可以省略大括号,该语句的执行结果将自动作为返回值:
let f = (a,b) => a+b;
console.log(f(2,3)); // 5当箭头函数需要返回一个对象字面量时,为了避免与大括号定义的代码块混淆,必须使用圆括号将对象包裹起来:
let f = (id,name) => {id: id, name: name};
let obj = f("001","刘德华"); // 报错
console.log(obj);let f = (id,name) => {
return {id: id, name: name};
};
let obj = f("001","刘德华");
console.log(obj); //{id:"001",name:"刘德华"}let f = (id,name) => ({id: id, name: name});
let obj = f("001","刘德华");
console.log(obj); //{id:"001",name:"刘德华"}以上就是对ES6函数基础语法的介绍,包括参数扩展和箭头函数的使用细节。希望这些内容能帮助大家更好地学习JavaScript,欢迎继续支持本站获取更多技术分享。
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
相关标签:
