首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生活在打字稿中的作用

生活在打字稿中的作用
EN

Stack Overflow用户
提问于 2016-12-14 22:13:28
回答 1查看 13.4K关注 0票数 2

我找到了这篇由Minko编写的JavaScript中的自调用函数,它教我们如何编写一个JavaScript函数,该函数在初始化后立即调用自己。我想知道我们怎样才能在打字稿中做到这一点。我发现,如果在export class ComponentName**,内部编写代码,将无法工作。我试过的代码:**

代码语言:javascript
复制
import {Component, Input} from '@angular/core'

@Component({...})

export class MyComponent{

    @Input() infoes;

    (function(){
        console.log('testing');
    })();
}

IDE显示的错误是unexpected token. a constructor, accessor, method or property was expected。我认为这与TypeScript引入的类概念有关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-16 12:14:19

您所拥有的是一个生命(立即调用函数表达式)。TypeScript确实允许IIFE,但只允许在一般允许表达式的地方使用。TypeScript不允许孤立的表达式坐在那里。这也是不允许的:

代码语言:javascript
复制
class Foo {
    1+1;
};

但是,这使用IIFE来初始化字段,允许这样做:

代码语言:javascript
复制
class Foo {
    foo: string = (function bar(){
        console.log("testing");
        return "value";
    }());
};

new Foo();

如果运行,您将在控制台上看到testing

要处理这些注释,您也不能这样做:

代码语言:javascript
复制
class Foo {
    function bar(){
        console.log('testing');
    );
}

以上是类中的一个函数。这与类中的一个方法不同:

代码语言:javascript
复制
class Foo {
    bar(){
        console.log('testing');
    );
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41153135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档