函数参数的Tyepscript`Final`或`const`?

时间:2018-01-18 22:55:24

标签: javascript typescript typescript-typings

是否可以将函数参数设为Traversablereadonly基本上:

const

const someMethod = (arg1: string) => { arg1 = 'hello'; // should error out } 只适用于类方法吗?我尝试创建readonly并在那里使用type,但也没有运气。

2 个答案:

答案 0 :(得分:5)

TypeScript中没有办法阻止重新分配给函数参数。

如果您使用的是TSLint,则可以启用no-parameter-reassignment规则。

答案 1 :(得分:0)

没有办法做到这一点,但您可以将此参数存储在常量变量中并进一步使用它,并且此变量不能再更改:

const someMethod = (arg1: string) => {
   const yourVariable: string = arg1;
   yourVariable = 'hello'; // the error will occur
}