[Day18] 箭头函式

Arrow Function

这个从 ES6 开始新增的一种写法,叫做 Arrow Function expression 箭头函式,主要有两个特性:

  • 更简短的函式写法
  • this 变数强制绑定

更简短的写法为何呢?
改写成箭头函式可变成 concise body 或者平常使用的 block body,两者的差异在於:

  1. concise body 语法会内建 "return"
  2. block body 需要明确的 "return" 宣告。
    举个一般函式有两个参数的例子,把 function 拿掉留下参数,并用箭头 => 取代大括号 () 及 return:
let square1 = function (x, y) {
  return x * y;
}
// 改写成箭头函式
// 1. concise body 语法会内建 return
let square1 = (x, y) => x * y;

// 2. block body 要记得加上 return
let square1 = (x, y) => {
  return x * y;
}

在只有一个参数时()可加也可不加,(单一参数) => { 陈述式; },或单一参数 => { 陈述式; },如下例:

let square2 = function (number) {
  return number * number;
}
// 改写成箭头函式 
let square2 = (number) => number * number;
// 不加 ()
let square2 = number => number * number;

而如果遇到这个函式不需要参数的状况,还是要留一个空括号给箭头函式,() => { 陈述式 }:

let square3 = function () {
  console.log("Hellow World");
}
// 若无参数,就一定要加括号:
let square3 = () => console.log("Hellow World");

至於 this 似乎是很大一个坑,等比较清楚後再好好的写。

参考资料

008天重新认识JavaScript
MDN-箭头函式


<<:  Day24 axios基本语法(GET、POST请求)?

>>:  Ruby、演算法学习心得(二) Big O notation。

Vue slot: 具名插槽

tags: Vuejs 具名插槽 ✐ 若是需要多个插槽,可以在 <slot> 中使用 n...

【day28】宠物邀约上传流程修改 X ViewPager2 with indicator

前几天我们成功上传了多张照片,但是我们的画面有点丑丑的,所以我们今天要把它修改成更漂亮,且下面会有...

JavaScript 闭包(Closure) 上集

闭包 内部函数总是可以访问其所在的外部函数中声明的参数和变数,即使外部函式已经结束执行了。 看看这个...

D22 - Grafana Monitor

前面用TiUP安装时,也已经将Grafana监控的部分一并安装完成。 在监控这部分大致上分为几个分类...

Visual studio 2019 使用ClangFormat对程序码(C/C++)风格排版格式化

设定选项 打开Visual studio 点选 侦测->选项 左方选择 文字编辑器 → C/C...