ES6函数

本文介绍了ES6中函数的相关特性。对比ES5,说明了ES6为函数参数提供默认值的方式,解决了ES5中传入特定值时默认值设置的问题。还介绍了箭头函数,其具有无需function关键字、可省略return关键字、继承当前上下文this等特点,并给出了重构代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数
函数默认参数
在ES5我们给函数定义参数默认值是怎么样?
function action(num) {
num = num || 200
//当传入num时,num为传入的值
//当没传入参数时,num即有了默认值200
return num
}

但细心观察的同学们肯定会发现,num传入为0的时候就是false,但是我们实际的需求就是要拿到num = 0,此时num = 200 明显与我们的实际想要的效果明显不一样
ES6为参数提供了默认值。在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。
function action(num = 200) {
console.log(num)
}
action(0) // 0
action() //200
action(300) //300

箭头函数
ES6很有意思的一部分就是函数的快捷写法。也就是箭头函数。
箭头函数最直观的三个特点。
● 不需要 function 关键字来创建函数
● 省略 return 关键字
● 继承当前上下文的 this 关键字
//例如:
[1,2,3].map(x => x + 1)

//等同于:
[1,2,3].map((function(x){
return x + 1
}).bind(this))

说个小细节。
当你的函数有且仅有一个参数的时候,是可以省略掉括号的。当你函数返回有且仅有一个表达式的时候可以省略{} 和 return;例如:
var people = name => 'hello' + name
//参数name就没有括号

作为参考
var people = (name, age) => {
const fullName = 'hello' + name
return fullName
}
//如果缺少()或者{}就会报错

要不整一道笔试题?哈哈哈哈哈哈哈哈。我不管我先上代码了
// 请使用ES6重构以下代码

var calculate = function(x, y, z) {
if (typeof x != number) { x = 0 }
if (typeof y != number) { y = 6 }

var dwt = x % y
var result

if (dwt == z) { result = true }
if (dwt != z) { result = false }

return result
}

const calculate = (x, y, z) => {
x = typeof x !== 'number' ? 0 : x
y = typeof y !== 'number' ? 6 : y
return x % y === z
}

转载于:https://www.cnblogs.com/mapsxy/p/9558154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值