为什么“让readIndex:0”不会导致TypeScript编译错误?

时间:2019-04-06 01:09:51

标签: typescript compiler-errors

我不小心将以下代码添加到我的TypeScript程序中,这意味着键入let readIndex=0

let readIndex:0;

由此,TypeScript编译器将生成以下JS代码:

let readIndex;

为什么编译不会失败?我不会期望这甚至是有效的语法,因为0不是有效的类型名称,但显然我错了。

那么,这种语法是什么意思?

1 个答案:

答案 0 :(得分:3)

  

0不是有效的类型名称

0是numeric literal type,因此它是有效的语法。这有点令人困惑,并且它作为“单身”数字文字类型并没有真正的用处,因为通常这些类型以char** input; input = (char **)malloc(numWordsInput*sizeof(char*)); for (i = 0; i < numWordsInput; i++) { fscanf(in_file, "%s", buffer); sLength = strlen(buffer)+1; input[i] = (char *)malloc(sLength*sizeof(char)); } rewind(in_file); for (i = 0; i < numWordsInput; i++) { fscanf(in_file, "%20[a-zA-Z]%*[a-zA-Z]", input[i]); } 之类的并集类型的元素形式出现,但是语法就是它的本质。

相关问题