The following似乎无法编译:
declare namespace ns {
interface Test {
readonly x: number;
}
}
使用:
找不到名字'readonly' 预期的财产或签名。
this也没有:
declare namespace ns {
interface Test {
const x: number;
}
}
使用:
预期的财产或签名。
答案 0 :(得分:2)
TypeScript 2.0编译的示例没有错误:
declare namespace ns {
interface Test {
readonly x: number;
}
}
目前的版本是1.8。为了在下一个版本上进行测试,在本地安装上:1 /使用npm install typescript@next
安装TypeScript的每晚构建,然后2 /执行编译器:./node_modules/.bin/tsc your-file.ts
。
答案 1 :(得分:1)
您无法在TypeScript中的value
中为property
分配interface
。
那么如果不允许你最初设置它,你将如何设置readonly
变量。
您可以使用module
来了解this question here如何解决此问题的答案:
module MyModule {
export const myReadOnlyProperty = 1;
}
MyModule.myReadOnlyProperty= '2'; // Throws an error.
您似乎必须等待TypeScript 2.0
,然后才会有readonly
个属性: