前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6 箭头函数 Arrow Function

ES6 箭头函数 Arrow Function

作者头像
很酷的站长
发布2022-12-28 15:56:59
2490
发布2022-12-28 15:56:59
举报
文章被收录于专栏:站长的编程笔记
ES6 箭头函数 Arrow Function
ES6 箭头函数 Arrow Function
前言

ES6 新增了一种新的函数: 箭头函数 Arrow Function

箭头函数相当于匿名函数,简化了函数定义,将原函数的 function 关键字和函数名都删掉,并使用 => 连接参数和函数体

1. ES6 前定义函数

代码语言:javascript
复制
// function 关键字
function add(num1, num2) {
return num1 + num2;
}
// 函数表达式
const sub = function (num1, num2) {
return num1 - num2;
}
// 对象字面量中定义函数
const obj = {
mul: function (num1, num2) {
return num1 * num2;
},
div(num1, num2) {
return num1 / num2;
}
}
2. ES6 箭头函数语法

当没有参数时, 可以定义为以下形式

代码语言:javascript
复制
const test = () => {
}

当只有一个参数时,括号可以省略。但是,如果这个参数是解构赋值,括号不能省略

代码语言:javascript
复制
const test = res => {
console.log(res);
}
const test = ({ code, msg }) => {
console.log(res);
}

当有多个参数时,括号不能省略

代码语言:javascript
复制
const test = (num1, num2) => {
return num1 + num2;
}

当函数体只有一行语句时,可以省略 {}

代码语言:javascript
复制
const test = (num1, num2) => num1 + num2;

使用箭头函数的场景: 闭包函数

代码语言:javascript
复制
setTimeout(() => {
}, 1000)
3. ES6 箭头函数返回值

当方法体只有一条语句时可以省略花括号

代码语言:javascript
复制
// 普通写法
// const math = (num1, num2) => {
// return num1 + num2
// }
// 省略 {}
const math = (num1, num2) => num1 + num2

当箭头函数需要返回一个数据时,可以使用下面写法

返回值数据类型是 字符串,数组,布尔值,=> 后面直接跟上数据即可,返回值如果是键值对形式的对象,需要使用 ({})

代码语言:javascript
复制
const demo = {
// 返回值是 []
a1: () => [],
// 返回值是 'abc'
a2: () => 'abc',
// 返回值是 true
a3: () => true,
// 返回值是键值对的对象时 需要使用 ({})
// 因为使用 () => {} , {} 会被当作方法体的定界符
a4: () => ({
name: 'liang'
}),

箭头函数直接返回一个数据的写法,多用于 vue,uniapp 开发中

代码语言:javascript
复制
export default {
name: "my-search",
props: {
config: {
type: Object,
default: () => ({
height: 36,
}),
},
},
}
4. 箭头函数中的 this 到底是谁 ?

箭头函数中的 this 指向问题标准答案: 向外层作用域中一层层查找 this,直到有 this 的定义

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. ES6 前定义函数
  • 2. ES6 箭头函数语法
  • 3. ES6 箭头函数返回值
  • 4. 箭头函数中的 this 到底是谁 ?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档