我无法理解这段代码:
stringsArray.forEach(s => {
for (var name in validators) {
console.log('"' + s + '" ' +
(validators[name].isAcceptable(s) ?
' matches ' : ' doesnt match ') + name);
}
});
Run Code Online (Sandbox Code Playgroud)
特别是,这s => { ...
部分是神秘的.看起来s被分配给每个循环中数组中的下一个字符串.但是这=>
部分含义是什么?我认为这与lambdas有关,但我并不关注.
Jos*_*eam 16
是的,它是一个lambda(例如,类似于ECMAScript6和Ruby,以及其他一些语言.)
Array.prototype.forEach
有三个参数,element, index, array
所以s
只是用于的参数名称element
.
这就像在常规的ECMAScript5中写这个:
stringsArray.forEach(function(s) {
for (var name in validators) {
console.log('"' + s + '" ' +
(validators[name].isAcceptable(s) ?
' matches ' : ' doesnt match ') + name);
}
});
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,你没有显示整个代码,所以我假设validators
它只是一个普通的对象{}
.
您提供的示例的语法实际上与ES6语法相同.
从TypeScript手册中查看此示例:
归档时间: |
|
查看次数: |
52541 次 |
最近记录: |