我无法理解这段代码:
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 次 |
| 最近记录: |