为什么打字稿不会在语句结尾处丢失分号时发出错误

时间:2016-03-11 18:18:02

标签: typescript

例如,如果我使用以下语句,我看不到编译器错误。

public static class MyExtensions
{
    public static void RedirectToSameDirectory(this HttpContextBase context, string fileName)
    {
        var builder = new UriBuilder(context.Request.Uri);
        builder.FileName = fileName;
        context.Response.Redirect(builder.Uri.ToString());
    }
}

// in razor
Context.RedirectToSameDirectory("filename");

public SomeFunction() {

    this.privateFunction() (no semi colon here)
}

我想知道每个陈述末尾的分号是否真的需要?

2 个答案:

答案 0 :(得分:8)

分号在JavaScript中是可选的 - TypeScript是JavaScript的超集,ergo,分号在TypeScript中是可选的。也就是说,如果您不知道分号将自动放置在哪里,您仍会像使用JavaScript一样遇到ASI问题。

答案 1 :(得分:4)

作为JS的超集,Typescript使用后者的自动分号插入。如果您想了解更多关于隐含放置位置的信息,请阅读 - > http://inimino.org/~inimino/blog/javascript_semicolons