假设我们具有以下功能。
const complexFunction = ( a, b ) => a + b;
它工作正常,但我们似乎有时会遇到奇怪的错误。 那么我们调试的第一步是什么? 是的,您已经知道了,我们将从记录功能参数开始。
为了做到这一点,我们需要将我们的功能重构为类似下面的功能。 包括大括号,编写console.log并添加return语句。 这是很多额外的步骤,对吧?
const complexFunction = ( a, b ) => {
console .log( "[DEBUG]" , a, b);
return a + b;
}
但这不是必须的! 如果我们只想记录参数,则下面的函数版本是执行此操作的快速方法。 我们不再需要将单行箭头功能转换为多行箭头功能。
const complexFunction = ( a, b ) => console .log( "[DEBUG]" , a, b) || a + b;
完成调试后,请不要忘记删除console.log。
似乎有点不客气,为什么这还行得通? 该语句之所以有效,是因为逻辑运算符在JavaScript中的工作方式。
“逻辑运算符通常与布尔(逻辑)值一起使用。当它们使用时,它们将返回布尔值。但是,&&和||运算符实际上返回指定操作数之一的值,因此,如果这些运算符与non -布尔值,它们将返回非布尔值”
因为console.log解决了tofalsy,所以该函数将返回它的第二部分,在我们的例子中是a + b。 很整洁吧?
最后的话
当发现更有效地调试箭头功能时,发现这一小技巧将改变游戏规则。 您如何看待这项技术? 您以前知道吗? 让我们继续在评论部分进行讨论。
感谢您的阅读,并订阅不要错过我以后的任何帖子! 🙏
Robert是全职Web开发人员,目前在 Relatable 工作 。 他喜欢不断激励人们,探索新地方,阅读精彩书籍,拍摄启发性照片和学习新知识。
在 LinkedIn , Instagram , GitHub或Goodreads 上关注他 。
From: https://hackernoon.com/debugging-simple-arrow-functions-more-efficiently-0c20v3qle