我知道<代码>
代码如下:
js prettyprint-override">promiseTargetFile(fpParams, aSkipPrompt, relatedURI).then(aDialogAccepted => {
if (!aDialogAccepted)
return;
saveAsType = fpParams.saveAsType;
file = fpParams.file;
continueSave();
}).then(null, Components.utils.reportError);
也称为胖箭头函数。它们是编写函数表达式的一种干净而简洁的方法,例如function(){}
。
箭头函数可以在定义函数时取消对函数
、返回
和{}
的需要。它们是一行,类似于Java或Python中的Lambda表达式。
const queue = ['Dave', 'Sarah', 'Sharon'];
const nextCustomer = () => queue[0];
console.log(nextCustomer()); // 'Dave'
这被称为箭头函数,是ECMAScript 2015规范的一部分...
var foo = ['a', 'ab', 'abc'];
var bar = foo.map(f => f.length);
console.log(bar); // 1,2,3
这是一个箭头函数。箭头函数是ECMAscript 6引入的一种简短语法,其使用方式与函数表达式的使用方式类似。换句话说,您可以经常使用它们来代替function(foo){…}
。但它们有一些重要的区别。例如,它们不绑定自己的
值this
(有关讨论,请参见下文)。
箭头函数是ECMAscript 6规范的一部分。它们尚未在所有浏览器中得到支持,但在Node v.4.0和2018年使用的大多数现代浏览器中部分或完全得到支持。(我在下面列出了部分支持浏览器的列表)。
您可以阅读更多关于箭头函数的Mozilla留档。
从Mozilla文档中:
与函数表达式相比,箭头函数表达式(也称为胖箭头函数)具有更短的语法,并在词汇上绑定
this
值(不绑定自己的this
、参数
、super
或new.target
)。箭头函数总是匿名的。这些函数表达式最适合于非方法函数,它们不能用作构造函数。
箭头函数最方便的功能之一隐藏在上面的文本中:
一个箭头函数。。。按词汇绑定
此
值(不绑定自己的此
…)
更简单地说,这意味着箭头函数从其上下文中保留了
this
值,并且没有自己的this
。传统函数可以绑定它自己的this
值,这取决于它的定义和调用方式。这可能需要大量的体操,如Self=this;
等。,从一个函数中访问或操作另一个函数中的this
。有关此主题的更多信息,请参阅Mozilla留档中的解释和示例。
示例(也来自文档):
var a = [
"We're up all night 'til the sun",
"We're up all night to get some",
"We're up all night for good fun",
"We're up all night to get lucky"
];
// These two assignments are equivalent:
// Old-school:
var a2 = a.map(function(s){ return s.length });
// ECMAscript 6 using arrow functions
var a3 = a.map( s => s.length );
// both a2 and a3 will be equal to [31, 30, 31, 31]
您可以在节点中使用箭头函数,但浏览器支持参差不齐。
浏览器对该功能的支持已经有了很大的改进,但对于大多数基于浏览器的使用来说,它仍然不够广泛。截至2017年12月12日,当前版本的支持:
Chrome(45节)
- 火狐(22节)
- 边缘(12节)
- 歌剧(32节)
- Android浏览器(47节)
- 歌剧流动(33)
- Android的Chrome(47节)
- Firefox for Android(44节)
- Safari(10节)
- iOSSafari(v.10.2)
- 三星互联网(5节)
- 百度浏览器(v.7.12)
在以下情况下不受支持:
IE(通过第11节)
- Opera Mini(通过8.0版)
- 黑莓浏览器(通过第10节)
- IE Mobile(通过第11节)
- AndroidUC浏览器(通过11.4版)
- QQ(通过1.2版)
您可以在CanIUse.com(无从属关系)找到更多(和更多最新)信息。
问题内容: 我正在尝试运行一些Android测试,但是,编译器抱怨存在多个dex文件。 所以我试图过滤重复的依赖项: 但是我得到以下输出: 我对箭头(->)的含义感到困惑。他们的意思是什么? 问题答案: 这意味着,依赖图包含相同的多个依赖和而不同的版本如。Gradle尝试自动解决冲突的版本- 默认情况下,选择最新版本。左侧是请求的版本,右侧是将要选择的版本。在这里可以找到类似的问题。
我偶然发现了这个代码。我一直在使用{}格式的箭头函数,这个()包装器是什么意思?
问题内容: 这个问题已经在这里有了答案 : ->在Python函数定义中是什么意思? (8个答案) 2年前关闭。 python方法的末尾有一个或破折号-大于符号,我不确定它的含义。人们可能也称它为箭头。 这是示例: Foo的实例在哪里。 我的猜测是,它是某种静态类型声明,以告诉解释器其类型为Foo。但是当我对此进行测试时,如果不是Foo的实例,则不会发生任何异常情况。另外,如果类型不是Foo,则假
我正在阅读ScrollListView的源代码,在一些地方我看到了的用法。 88号线。 这是的缩写吗?如果有什么不同,又是怎么回事?
问题内容: 操作数是什么意思,更具体地说是Python? 有人可以解释如何阅读此代码段吗? 问题答案: 更新的答案 在问题的上下文中,我们正在处理伪代码,但是从Python 3.8开始 ,它实际上是一个有效的运算符,它允许在表达式中分配变量: 有关更多详细信息,请参见PEP 572。 原始答案 您发现的是 伪代码 伪代码 是计算机程序或其他算法的工作原理的非正式高级描述。 实际上是赋值运算符。在P
我见过这样的JavaScript代码: 在这个实例中,包裹对象的括号指的是什么?它是的缩写吗?