箭头函数可以简化代码
很喜欢ES6的箭头函数,它可以让代码更简洁。下面,我们先看看传统函数写法,如何实现一个柯里化函数,然后再用箭头函数写。预设是这样:写一个闭包函数,用来检测字符串,具有通用性。我们先看传统函数写法:
var curryCheck = function (reg) {
return function (str) {
return reg.test(str);
};
};
这里,是一个特殊的柯里化函数写法。所谓柯里化,指函数只带一个参数,就是函数参数单一化。外层函数参数 reg ,是一个待传入的正则,里层函数参数 str ,是待检测的字符串。函数嵌套就是闭包,柯里化函数基本就是这么写。
如何使用上述函数?比方说,我们要检测字符串是不是数字,可以这样:
var checkNumber = curryCheck(/^\d+$/);
console.log(checkNumber('123')); // true
console.log(checkNumber('abc')); // false
下来看看箭头函数,一行就可以完成柯里化的闭包函数:
const curryCheck = (reg) => (str) => reg.test(str);
这个函数等同于前面的闭包函数,调用方法也一样。
箭头函数就是可以这么简洁。还可以更简洁:
const curryCheck = reg => str => reg.test(str);
=> 之后,如果 return 某个指定的东东,花括号 {} 可以不要;函数如果只带一个参数,小括号 () 可以不要。
虽然简洁,不过可读性就差一些,需要非常熟悉箭头函数才能轻松读懂。
黑黑辛苦,写教程到这么晚呢。粗略看了一下,明天再来认真学习{:4_199:} 不断创新,原来大科学在废寝忘食的研究呢。令人敬佩不已{:4_176:} 学习了。
红影 发表于 2024-1-7 00:40
黑黑辛苦,写教程到这么晚呢。粗略看了一下,明天再来认真学习
这个恐怕不好理解{:4_170:} 起个网名好难 发表于 2024-1-7 08:22
学习了。
先生谦虚了 樵歌 发表于 2024-1-7 07:52
不断创新,原来大科学在废寝忘食的研究呢。令人敬佩不已
一直使用箭头函数的 马黑黑 发表于 2024-1-7 11:31
先生谦虚了
真不是谦虚, ES6的内容基本都是要学习的新东西。 起个网名好难 发表于 2024-1-7 12:09
真不是谦虚, ES6的内容基本都是要学习的新东西。
ES6出来好久了 马黑黑 发表于 2024-1-7 11:31
这个恐怕不好理解
这个名称也怪,居然叫箭头函数,就是因为=>的存在么{:4_173:} 马黑黑 发表于 2024-1-7 12:51
ES6出来好久了
退休也好久了{:5_102:} 起个网名好难 发表于 2024-1-7 13:27
退休也好久了
之前的工作,就是基于ES5的 红影 发表于 2024-1-7 13:12
这个名称也怪,居然叫箭头函数,就是因为=>的存在么
=> 是箭头阿 马黑黑 发表于 2024-1-7 14:07
之前的工作,就是基于ES5的
js 退休后没事学着玩的。 起个网名好难 发表于 2024-1-7 14:24
js 退休后没事学着玩的。
哦,业余爱好 马黑黑 发表于 2024-1-7 17:30
哦,业余爱好
预防老年痴呆{:5_106:} 起个网名好难 发表于 2024-1-7 18:12
预防老年痴呆
挺好挺好。不过感觉得出来,你功底深厚。 马黑黑 发表于 2024-1-7 14:07
=> 是箭头阿
好吧,叫这个也挺形象{:4_173:} 马黑黑 发表于 2024-1-7 19:00
挺好挺好。不过感觉得出来,你功底深厚。
有点其它语言的底子,模仿起来也就马虎能混了。 起个网名好难 发表于 2024-1-7 20:28
有点其它语言的底子,模仿起来也就马虎能混了。
底子很重要
页:
[1]
2