es6箭头函数
来源:互联网 发布:java从入门到精通 编辑:程序博客网 时间:2024/06/06 03:56
箭头函数实现
const fruits = ['apple', 'banana', 'orange'];
(const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。) 为names数组中的每个元素后加上'eat'这个字符串 普通写法
const fruiteat = fruits.map(function(name){ return `${name} eat`;});console.log(fruiteat);// ["apple eat", "banana eat", "orange eat"]
1.删除关键字function,用=>代替
const fruiteat2 = fruits.map((name) => { return `${name} eat`;});console.log(fruiteat2);//["apple eat", "banana eat", "orange eat"]
2.如果只有一个参数,可以去掉包name的括号
const fruiteat3= fruits.map(name => { return `${name} eat`;});console.log(fruiteat2);// ["apple eat", "banana eat", "orange eat"]
3.箭头函数内置 return 功能。即,如果你只想使用箭头函数返回什么东西的话,那么无需显示地写出 return 。
const fruiteat4= fruits.map(name => `${name} eat`);console.log(fruiteat4);// ["apple eat", "banana eat", "orange eat"]
- 函数有一句想要返回的语句。此时,去掉了包return的花括号,这个函数体内仅有一句想要返回的语句。
- 当函数没有参数时
const fruiteat5 = fruits.map(() => `eating`);console.log(fruiteat5);//["eating", "eating", "eating"]
另一种写法使用_代替()
fruits.map(_ => `eating`);
我们称之为一个一次性变量,因为我们实际上正在创建一个名为_但不使用的变量
箭头函数始终是匿名函数,它们不能用作构造函数。
目前的JavaScript版本把所有箭头函数当成匿名函数,但我们可以用一个变量指向匿名函数,以这种方式来仿造声明函数
const sayMyName = (name) => {alert(`Hello ${name}!`)}sayMyName('Wes');
箭头函数中的this关键字
普通函数中的this:
- this总是代表它的直接调用者, 例如 obj.func ,那么func中的this就是obj
- 在默认情况(非严格模式下,未使用 'use strict'),没找到直接调用者,则this指的是 window
- 在严格模式下,没有直接调用者的函数中的this是 undefined
- 使用call,apply,bind(ES5新增)绑定的,this指的是 绑定的对象
箭头函数中的this
默认指向在定义它时,它所处的对象(宿主对象),而不是执行时的对象, 定义它的时候,可能环境是window
箭头函数的三个优点: 1. 语法简洁,能够写出漂亮的单行函数。2. 内置return语句,当函数只想返回某个东西的时候,可以不必显现地写出return。3.this关键字无需重新指定,这在进行事件绑定时会很有帮助。
阅读全文
0 0
- ES6 中的箭头函数
- ES6 箭头函数 柯里化
- ES6箭头函数=>
- es6箭头函数
- ES6箭头函数
- ES6箭头函数小结
- es6箭头函数
- ES6 箭头函数
- es6的箭头函数
- es6箭头函数
- es6箭头函数
- 浅谈ES6箭头函数
- es6箭头函数
- ES6 箭头函数理解
- es6之箭头函数
- ES6中的箭头函数
- ES6-箭头函数 =>
- ES6 箭头函数
- 前言
- (七)迭代器
- 关于可重入锁、可中断锁和公平锁的理解
- 快读 模板
- 数据库笔记3————关系数据库标准语言SQL上(SQL的数据定义和数据更新)
- es6箭头函数
- linux中,一个目录的权限是777,普通用户为什么删除不了它呢?
- STM32CubeMX学习:基本定时器
- 3468 A Simple Problem with Integers
- android MVVM开发框架——(3)DataBinding 应用于RecyclerView
- 快速排序算法总结
- 【git 使用详解(4)】-- 初体验
- 【JZOJ5433】图
- eclipse git报错git The current branch is not configured for pull No value for key branch.master.merge