首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ES6箭头函数

ES6(ECMAScript 2015)引入了箭头函数(Arrow Functions),它是一种更简洁和更具表达力函数定义方式。...箭头函数具有更短语法形式,隐式绑定了this,并且没有自己this、arguments、super 或 new.target。基本语法:箭头函数使用箭头(=>)来分隔参数和函数体。...在上面的示例中,我们定义了一个简单箭头函数hello,它不带参数,并在函数体中打印了一条消息。隐式返回:箭头函数还具有隐式返回特性。...箭头函数add接受两个参数a和b,并返回它们和。this 绑定:与常规函数不同,箭头函数没有自己this值,它继承了包含它父级作用域this值。...注意事项:尽管箭头函数具有许多优点,但也有一些限制和注意事项:箭头函数没有自己this,因此无法用作构造函数箭头函数也没有自己arguments对象,但可以通过使用剩余参数语法来获取参数。

19840
您找到你想要的搜索结果了吗?
是的
没有找到

ES6箭头函数总结

箭头函数基本形式 wdnda 箭头函数基本特点 「1.箭头函数this为父作用域this,不是调用时this」 箭头函数this永远指向其父作用域,任何方法都改变不了,包括call,apply...上例中,init为箭头函数,其内部this为全局window,onclickthis也就是init函数this,也是window, 得到this.name就为undefined。...「2.箭头函数不能作为构造函数,不能使用new」 由于this必须是对象实例,而箭头函数是没有实例,此处this指向别处,不能产生person实例,自相矛盾。「3....箭头函数没有arguments,caller,callee」 箭头函数本身没有arguments,如果箭头函数在一个function内部,它会将外部函数arguments拿过来使用。...箭头函数返回对象时,要加一个小括号」 var func = () => ({ foo: 1 }); //正确 var func = () => { foo: 1 }; //错误 「8.箭头函数ES6

30820

ES6箭头函数=>

ES6标准新增了一种新函数:Arrow Function(箭头函数)。为什么叫Arrow Function?...因为它定义用就是一个箭头: x => x * x 相当于: function(x){ return x*x; } 箭头函数相当于匿名函数,并且简化了函数定义。...箭头函数表达式语法比函数表达式更简洁,并且没有自己this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数地方,并且它不能用作构造函数。...{ ... }有语法冲突,所以要改为: // ok: x => ({ foo: x }) this 箭头函数看上去是匿名函数一种简写,但实际上,箭头函数和匿名函数有个明显区别:箭头函数内部this...: // 空箭头函数返回 undefined let empty = () => {}; (() => 'foobar')(); // Returns "foobar" // (这是一个立即执行函数表达式

57441

ES6基础:箭头函数

ES6基础系列(三)箭头函数 一、基本用法 先来看看 ES5 中我们怎么写一个函数 const foo = function (num) { return num + 1; }; 再来看看...ES6 为我们提供箭头函数 const foo = (num) => num + 1; 看这个例子难道箭头函数是为了让我们代码看上去更“高大上”吗?...箭头函数 this,就绑定在它最近一层非箭头函数 this. 一句话理解:箭头函数内部 this 是词法作用域,由上下文确定。...this 指向对象 第二个箭头函数,它 this 绑定在最近一层非箭头函数,也就是 obj 上 2.2 没有 arguments 箭头函数没有自己 arguments 对象,这不一定是件坏事,因为箭头函数可以访问外围函数...参考 ES6 系列之箭头函数 廖雪峰:箭头函数 写在最后 关于我 花名:余光(沉迷 JS,虚心学习中) 如果您看到了最后,对文章有任何建议,都可以在评论区留言 这是文章所在 GitHub 仓库传送门,

27410

Es6新特性——箭头函数

---- theme: channing-cyan 这是我参与8月更文挑战第9天,活动详情查看:8月更文挑战 什么是箭头函数 箭头函数Es6新增一种定义函数表达式语法,它简化了我们之前写函数书写方式...,箭头函数实例化函数对象与我们Es5之前创建函数表达式创建函数行为是相同。...在任何使用函数表达式地方,都可以使用箭头函数。但箭头函数有些地方与传统书写方式还有差异,我们在下面来为大家讲解。...箭头函数书写方式 //Es5 let sum = function(a,b){ return a + b; } // Es6 let sum1...如果该函数是一个对象方法,则它this指针指向这个对象。但在箭头函数中,箭头函数不会创建自己this,它只会从自己作用域链上一层继承this。

33110

ES6 箭头函数 Arrow Function

ES6 前定义函数 2. ES6 箭头函数语法 3. ES6 箭头函数返回值 4. 箭头函数 this 到底是谁 ?...前言 ---- ES6 新增了一种新函数: 箭头函数 Arrow Function 箭头函数相当于匿名函数,简化了函数定义,将原函数 function 关键字和函数名都删掉,并使用 => 连接参数和函数体...ES6 箭头函数语法 ---- 当没有参数时, 可以定义为以下形式 const test = () => { } 当只有一个参数时,括号可以省略。...ES6 箭头函数返回值 ---- 当方法体只有一条语句时可以省略花括号 // 普通写法 // const math = (num1, num2) => { // return num1 + num2 /...箭头函数 this 到底是谁 ? ---- 箭头函数 this 指向问题标准答案: 向外层作用域中一层层查找 this,直到有 this 定义

22010

ES6 系列之箭头函数

回顾 我们先来回顾下箭头函数基本语法。...ES6 增加了箭头函数: let func = value => value; 相当于: let func = function (value) { return value; }; 如果需要给函数传入多个参数...没有 this 箭头函数没有 this,所以需要通过查找作用域链来确定 this 值。 这就意味着如果箭头函数被非箭头函数包含,this 绑定就是最近一层非箭头函数 this。...,使用 bind 强制绑定 setBgColor() this 为实例对象 使用 ES6,我们可以更好解决这个问题: Button.prototype.bindEvent = function()...在这里再额外提一点,就是注意 bindEvent 和 setBgColor 在这里使用是普通函数形式,而非箭头函数,如果我们改成箭头函数,会导致函数 this 指向 window 对象 (非严格模式下

43720

浅浅分析下es6箭头函数

前言 箭头函数作为es6重点语法内容之一,很多开发者对其爱不释手,当也要注意其可能存在问题,其正确使用场景,否则会引起不必要bug。...因为箭头函数无法形成作用域,所以在实例化时候构造器会失败,不能使用箭头函数实现构造器,真实使用会报错。...比如以下场景: 1 业务或者语法判断过于复杂 2 返回值情况很复杂 建议 尽管箭头函数和let、const以及一些es6语法变得风行,甚至于有些人觉得用箭头函数就觉得自己技术进阶了,其实不然,大多人人还是停留在了它写法上便利...总之,个人建议是:上面提到几种不适合场景不要用箭头函数箭头函数适用于那些参数业务逻辑以及返回值都简单方法实现。...参考文档 什么时候不能使用箭头函数 arowFun,我codepen案例 mdn链接 深入浅出箭头函数 不能滥用箭头函数

32410

ES6箭头函数中this指向谁?

ES6箭头函数中this (1)默认指向定义它时,所处上下文对象this指向。...即ES6箭头函数里this指向就是上下文里对象this指向,偶尔没有上下文对象,this就指向window (2)即使是call,apply,bind等方法也不能改变箭头函数this指向 一些实例加深印象...console.log(this); // window }); } } obj.hello(); (4)hello直接调用者是obj,第一个this指向obj,setTimeout箭头函数...,this指向最近函数this指向,即也是obj const obj = { num: 10, hello: function () { console.log(this);...perimeter是箭头函数,this应该指向上下文函数this指向,这里上下文没有函数对象,就默认为window,而window里面没有radius这个属性,就返回为NaN。

1.7K10

es6箭头函数详解_es6新特性

大家好,又见面了,我是你们朋友全栈君。 ES6标准新增了一种新函数:Arrow Function(箭头函数)。...使用ES6箭头函数语法定义函数,将原函数“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。...注意,用小括号包含大括号则是对象定义,而非函数主体 x => {key: x} // 报错 x => ({key: x}) // 正确 箭头函数看上去是匿名函数一种简写,但实际上,箭头函数和匿名函数有个明显区别...但不能盲目的使用ES6箭头函数,请看下一节《正确使用箭头函数——什么时候不该用ES6箭头函数》。...在监听点击事件回调函数中,就无法获取到当前点击元素咯,详见《正确使用箭头函数——什么时候不该用ES6箭头函数》) 总的来说,箭头函数只是一种函数简写,有其利弊,可用可不用,看大家心情,当然也得用正确

25920
领券