我不小心将以下代码添加到我的TypeScript程序中,这意味着键入let readIndex=0
:
let readIndex:0;
由此,TypeScript编译器将生成以下JS代码:
let readIndex;
为什么编译不会失败?我不会期望这甚至是有效的语法,因为0
不是有效的类型名称,但显然我错了。
那么,这种语法是什么意思?
答案 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]);
}
之类的并集类型的元素形式出现,但是语法就是它的本质。