我不知道这个语法或符号或任何属于 Angular2
或其他东西的......
但我想知道,
...
语法是什么,它在幕后是如何工作的?
ngOnChanges(...args:any[])
{
console.log(args);
}
最佳答案
这是TypeScript rest operator .在这种情况下,这意味着任何数量的任何类型的参数都可以出现在那里;该函数会将它们视为 any
的数组。 (从 ES2015 开始,JavaScript 最近也获得了 rest 和 spread 运算符,但是您示例中的 :any[]
告诉我们这是 TypeScript。)
例如:
ngOnChanges('a', 42, null);
...会显示
["a", 42, null]
in the console.
Here's a complete example (live copy):
function foo(...args:any[]) {
console.log("args.length = " + args.length);
args.forEach((arg:any, index:Number) => {
console.log("args[" + index + "]: " + arg);
});
}
foo('a', 42, null);
输出
args.length = 3 args[0]: a args[1]: 42 args[2]: null
关于angular - 什么是...语法? (在 Angular2 中找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008250/