时间:2021-07-01 10:21:17 帮助过:57人阅读
ES6新增了使用箭头语法定义语法函数表达式的能力。很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是相同的。任何时候使用函数表达式的地方,都可以使用箭头函数
let fn = (a, b) => { return a + b } let fun = function (a, b) { return a + b } console.log(fn(1, 2)) // 3 console.log(fun(1, 2)) // 3
箭头函数适合嵌入函数
let arr = [1, 2, 3, 4]; console.log( arr.map(function (item) { return item + 1 }) ) // [2,3,4,5] console.log( arr.map((item) => { return item + 1 }) ) // [2,3,4,5]
箭头函数如果只有一个参数,可以省略括号
let a = (i) => { console.log(i) } // 当前箭头函数只有一个参数,所以可以省略括号变成以下写法, let a = i => { console.log(i) }
箭头函数如果有多个参数,中间用,逗号隔开
// 如果有多个参数,中间用逗号隔开 let a = (i, j, k) => { console.log(i, j, k) }
如果没有参数,则圆括号必须加
// 如果没有参数,则圆括号必须加 let a = () => { console.log("箭头函数没有参数") }
箭头函数也可以省略掉花括号,但这样会改变函数的行为,使用花括号就跟常规函数一样,可以在函数体内写入多条语句,如果不带花括号,那么就说明箭头后面只有一条语句,且隐式的返回这条语句的值
let a = () => { console.log("我是带花括号的箭头函数") console.log("我是带花括号的箭头函数") console.log("我是带花括号的箭头函数") } let a = () => console.log("我是不带花括号的箭头函数") let b = i => i + 1 console.log(b(1)) // 这个时候箭头函数隐式的返回了i+1的值,所以打印结果为2
虽然箭头函数的语法简洁,但是还是有很多场景不适合用,箭头函数不能用arguments、super和target,也不能用作构造函数,箭头函数也没有prototype属性。
推荐学习:Javascript视频教程
以上就是箭头函数是什么的详细内容,更多请关注gxlcms其它相关文章!