广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >es6箭头函数有什么特性
  • 945
分享到

es6箭头函数有什么特性

2024-04-02 19:04:59 945人浏览 八月长安
摘要

这篇文章主要介绍“es6箭头函数有什么特性”,在日常操作中,相信很多人在es6箭头函数有什么特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6箭头函数有什么特性”的疑惑

这篇文章主要介绍“es6箭头函数有什么特性”,在日常操作中,相信很多人在es6箭头函数有什么特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6箭头函数有什么特性”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

es6箭头函数的特性有:1、箭头函数没有arguments对象;2、箭头函数的this值,取决于函数外部非箭头函数的this值,箭头函数不能改变this指向;3、箭头函数不能用new关键字声明;4、箭头函数没有原型prototype属性。

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。

为什么叫Arrow Function(箭头函数)?因为它的定义用的就是一个箭头:

x => x * x

上面的箭头函数相当于:

function (x) {    
return x * x;
}

箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:

x => {
    if (x > 0) {
        return x * x;
    }
    else {
        return - x * x;
    }
}

如果参数不是一个,就需要用括号()括起来:

// 两个参数:
(x, y) => x * x + y * y

// 无参数:
() => 3.14

// 可变参数:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i<rest.length; i++) {
        sum += rest[i];
    }
    return sum;
}

如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错:

// SyntaxError:
x => { foo: x }

因为和函数体的{ ... }有语法冲突,所以要改为:

// ok:
x => ({ foo: x })

es6箭头函数的特性

1、箭头函数没有arguments

let test1 = () => {
    console.log(arguments)
}
test1(123) // arguments is not defined

箭头函数找arguments对象只会找外层非箭头函数的函数,如果外层是一个非箭头函数的函数如果它也没有arguments对象也会中断返回,就不会在往外层去找

function test2(a, b, c){
    return () => {
    console.log(arguments) // [1]
    }
}
test2(1)()

2、箭头函数this值

箭头函数的this值,取决于函数外部非箭头函数的this值,如果上一层还是箭头函数,那就继续往上找,如果找不到那么this就是window对象

let person = {
    test: () => {
        console.log(this)
    },
    fn(){
        return () => {
            console.log(this)
        }
    }
}
person.test()  // window
person.fn()()  // person对象

箭头函数不能改变this指向

let person = {}
let test = () => console.log(this)
test.bind(person)()
test.call(person)
test.apply(person)

es6箭头函数有什么特性

在预编译的时候,this 就已确定。

3、箭头函数不能用new关键字声明

let test = () => {}
new test() // Uncaught TypeError: test is not a constructor

4、箭头函数没有原型prototype属性

javascript中所有的函数都有prototype属性吗,这个是错误的。

let test = () => {}
test.prototype // undefined
test.__proto__ === Function.prototype // true

箭头函数不能重复命名参数

// 箭头函数不能重复命名参数
let bbb = (b, b, b) => {
} 
// Uncaught SyntaxError: Duplicate parameter name not allowed in this context
let bb = function(b, b, b){
}
// es5 不会报错

到此,关于“es6箭头函数有什么特性”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: es6箭头函数有什么特性

本文链接: https://www.lsjlt.com/news/97283.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • es6箭头函数有什么特性
    这篇文章主要介绍“es6箭头函数有什么特性”,在日常操作中,相信很多人在es6箭头函数有什么特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6箭头函数有什么特性”的疑惑...
    99+
    2022-10-19
  • ES6中箭头函数是什么
    这篇文章主要介绍ES6中箭头函数是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!箭头函数ES6新增了使用箭头语法定义语法函数表达式的能力。很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是...
    99+
    2023-06-14
  • es6箭头函数的概念是什么
    这篇文章主要介绍“es6箭头函数的概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6箭头函数的概念是什么”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • es6箭头函数有哪些优点
    本篇内容介绍了“es6箭头函数有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 怎么使用ES6箭头函数
    这篇文章主要介绍“怎么使用ES6箭头函数”,在日常操作中,相信很多人在怎么使用ES6箭头函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用ES6箭头函数”的疑惑有所帮...
    99+
    2022-10-19
  • es6箭头函数怎么使用
    本篇内容介绍了“es6箭头函数怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • es6箭头函数什么时候不能用
    这篇文章主要讲解了“es6箭头函数什么时候不能用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6箭头函数什么时候不能用”吧! ...
    99+
    2022-10-19
  • es5函数和es6箭头函数有哪些区别
    本篇内容介绍了“es5函数和es6箭头函数有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、写法不同,ES6箭头函数为“()...
    99+
    2023-07-04
  • ES6新增的箭头函数怎么用
    今天小编给大家分享一下ES6新增的箭头函数怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2022-10-19
  • es6箭头函数和普通函数的区别有哪些
    这篇文章主要介绍“es6箭头函数和普通函数的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6箭头函数和普通函数的区别有哪些”文章能帮助大家解决问题。ES6 箭头函数的主要区别如下:&n...
    99+
    2023-06-17
  • javascript ES6中箭头函数注意细节有哪些
    小编给大家分享一下javascript ES6中箭头函数注意细节有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言ES6标...
    99+
    2022-10-19
  • es6中箭头函数和普通函数的区别有哪些
    这篇文章主要介绍es6中箭头函数和普通函数的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 区别:1、箭头函数的定义要比普通函数定义简洁、清晰得...
    99+
    2022-10-19
  • ES6箭头函数及this指向怎么使用
    这篇文章主要介绍“ES6箭头函数及this指向怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6箭头函数及this指向怎么使用”文章能帮助大家解决问题。1...
    99+
    2022-10-19
  • ES5中箭头函数是什么
    这篇文章主要介绍了ES5中箭头函数是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是箭头函数?箭头函数表达式的语法比函数表达式更简洁...
    99+
    2022-10-19
  • JavaScript中的箭头函数是什么
    这篇文章主要讲解了“JavaScript中的箭头函数是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中的箭头函数是什么”吧!一、箭头...
    99+
    2022-10-19
  • JS什么场景不适合箭头函数
    目录概述定义对象上的方法Object literalObject prototype动态上下文的回调函数调用构造函数简写语法总结概述 这些年来,ES6 将js的可用性提升到一个新的水...
    99+
    2022-11-12
  • js中什么时候不能使用箭头函数
    目录箭头函数箭头函数有什么缺点?什么时候不能使用箭头函数?1. 对象方法中,不适用箭头函数为什么对象方法中,箭头函数的this指向不是这个对象?2. 原型方法中,不适用箭头函数3. ...
    99+
    2022-11-13
  • JS箭头函数的语法是什么及怎么使用
    本篇内容介绍了“JS箭头函数的语法是什么及怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JavaScript的箭头函数随着ECMAS...
    99+
    2023-07-04
  • ES6新特性之Object有什么变化
    这篇文章将为大家详细讲解有关ES6新特性之Object有什么变化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Object的变化1. ES6允许在对象中只写属性名,不写属...
    99+
    2022-10-19
  • js中不能使用箭头函数的情况是什么
    这篇文章主要介绍“js中不能使用箭头函数的情况是什么”,在日常操作中,相信很多人在js中不能使用箭头函数的情况是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js中不能使用箭头函数的情况是什么”的疑惑有所...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作