🎖️请尽量不要使用箭头函数

简介: 箭头函数通常允许编写更为简洁的代码。有时,在需要处理"this"的情况下,使用箭头函数是有充分理由的。然而,通常情况下,它们可能更难以阅读。那么,什么时候应该使用箭头函数呢?

嗨,大家好!这里是道长王jj~ 🎩🧙‍♂️

箭头函数通常允许编写更为简洁的代码。

有时,在需要处理"this"的情况下,使用箭头函数是有充分理由的。

然而,通常情况下,它们可能更难以阅读。

那么,什么时候应该使用箭头函数呢?

在 JavaScript 中,我们有多种方式来编写函数:

hello = function() {
    // 常规函数
  return "Hello World!"
}
const hello = () => {
    // "箭头"函数
  return "Hello World!"
}
// 带隐式返回的箭头函数
const hello = () => "Hello World!"

特别是最后一个版本使用隐式返回来缩短表达式,如果将箭头函数与三元运算符结合起来,可以获得一些不错的效果:

// 常规函数
function getcolor(flag) 
{
   
    if (flag)
        return "green"
    else
        return "red"
}

// 箭头函数
const getcolor = (flag) => flag ? "green" : "red"

尽管周围的圆括号()并不是必需的,但在箭头函数的参数周围放置它们是一个很好的约定。在这种情况下,箭头函数可以带来最大的好处。代码更加简洁而且清晰。但是要小心不要过度使用!

const decode = c => 
   (Array.isArray(c)) ? c.map(el => (el > 0 ? el : -el)) : (c > 0 ? c : -c)

就比如以上这段代码,它可以工作,但是它做了什么呢?

我经常花费数小时来弄清楚一行代码的功能……

保持简洁性

我想呼吁大家尽量编写可读的代码!计算机只会按照代码的指示执行,但是程序员需要维护这些代码。

编写可读的代码可以节省你的时间,并且让你的工作更轻松。

对于仅仅返回一个值的简短函数,箭头函数提供了一种选项,可以编写更为紧凑的代码。

但是下面的示例表明,箭头函数 => 并不总是更简短:

 function f(a, b) {
    ... }
 const f = (a, b) => {
    ... }

即使箭头函数可以节省一些字节,为了可读性,您应该尽可能选择旧的 "function()" 语法!


🎉 你觉得怎么样?这篇文章可以给你带来帮助吗?当你处于这个阶段时,你发现什么对你帮助最大?如果你有任何疑问或者想进一步讨论相关话题,请随时发表评论分享您的想法,让其他人从中受益。🚀✨

目录
相关文章
|
机器学习/深度学习 监控 Python
tensorflow2.x多层感知机模型参数量和计算量的统计
tensorflow2.x多层感知机模型参数量和计算量的统计
368 0
|
网络架构
ES6中数组新增了哪些扩展?
ES6中数组新增了哪些扩展?
196 1
|
弹性计算 网络安全 数据安全/隐私保护
三分钟在阿里云搭建自己的帕鲁服务器
《幻兽帕鲁》是Pocketpair投资10亿日元(约合人民币4842万元),耗费近4年时间开发的一款开放世界生存制作游戏,游戏于2023年11月2日至11月5日进行了封闭网络测试,于2024年1月18日发行抢先体验版本 。 游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等。 在帕鲁的世界,玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。 帕鲁可以进行战斗、繁殖、协助玩家做农活,也可以为玩家在工厂工作。 玩家也可以将它们进行售卖,或肢解后食用。
646 10
三分钟在阿里云搭建自己的帕鲁服务器
|
JavaScript 前端开发 开发者
深入剖析JavaScript的继承机制
【10月更文挑战第13天】深入剖析JavaScript的继承机制
93 0
|
算法 数据可视化 程序员
BackTrader 中文文档(十四)(1)
BackTrader 中文文档(十四)
189 0
BackTrader 中文文档(十四)(1)
|
IDE 编译器 开发工具
善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
|
存储 缓存 NoSQL
【Redis从头学-10】分分钟入门Redis内存淘汰机制
【Redis从头学-10】分分钟入门Redis内存淘汰机制
308 1
|
安全 网络协议 网络安全
Web安全性测试系列(二)DDOS拒绝服务攻击原理详解
Web安全性测试系列(二)DDOS拒绝服务攻击原理详解
258 0
|
API Windows
win11右键菜单改回win10教程(亲测可用-全流程截图)
win11右键菜单改回win10教程(亲测可用-全流程截图)
1414 0
win11右键菜单改回win10教程(亲测可用-全流程截图)
|
编解码 测试技术 数据库连接