Jay*_*Shi 2 typescript angular
我发现这篇文章是Minko Gechev 用JavaScript编写的自调用函数,它教我们如何编写一个在初始化后立即调用自身的JavaScript函数。我想知道我们如何在打字稿中做到这一点。我发现如果我在其中编写代码export class ComponentName,它将无法正常工作。我试过的代码:
import {Component, Input} from '@angular/core'
@Component({...})
export class MyComponent{
@Input() infoes;
(function(){
console.log('testing');
})();
}
Run Code Online (Sandbox Code Playgroud)
IDE显示的错误是unexpected token. a constructor, accessor, method or property was expected。我认为这与引入的TypeScript类概念有关。
您拥有的是IIFE(立即调用的函数表达式)。TypeScript确实允许IIFE,但仅在通常允许表达式的地方使用。TypeScript不允许孤立的表达式坐在那里。这也是不允许的:
class Foo {
1+1;
};
Run Code Online (Sandbox Code Playgroud)
但是,这使用IIFE 初始化field,这是允许的:
class Foo {
foo: string = (function bar(){
console.log("testing");
return "value";
}());
};
new Foo();
Run Code Online (Sandbox Code Playgroud)
您将testing在控制台上查看是否已运行。
要解决评论,您也不能执行以下操作:
class Foo {
function bar(){
console.log('testing');
);
}
Run Code Online (Sandbox Code Playgroud)
上面是一个类中的函数。这与以下内容不同,后者是类中的方法:
class Foo {
bar(){
console.log('testing');
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5479 次 |
| 最近记录: |