Javascript 调用函数TS时如何更新属性值
大家好,我想把一段JS代码改成TS代码 JS TS 错误:类型“object”没有属性期限 我希望结果是 姓名:詹姆斯 年龄:0 姓名:罗伊 年龄:20Javascript 调用函数TS时如何更新属性值,javascript,typescript,Javascript,Typescript,大家好,我想把一段JS代码改成TS代码 JS TS 错误:类型“object”没有属性期限 我希望结果是 姓名:詹姆斯 年龄:0 姓名:罗伊 年龄:20 请告诉我如何解决此问题在使用TS时,您需要为所有变量设置类型。定义接口并使用变量设置此类型 interface IState { name: string; age: number; } newPRYState(name: string): IState { let state: IState = { name : n
请告诉我如何解决此问题在使用TS时,您需要为所有变量设置类型。定义接口并使用变量设置此类型
interface IState {
name: string;
age: number;
}
newPRYState(name: string): IState {
let state: IState = {
name : name,
age : 0
}
return state;
}
initStates() {
this.JamesState: IState = newState('James')
this.RoyState: IState = newState('Roy');
this.RoyState.age = 20;
}
使用TS时,需要为所有变量设置类型。定义接口并使用变量设置此类型
interface IState {
name: string;
age: number;
}
newPRYState(name: string): IState {
let state: IState = {
name : name,
age : 0
}
return state;
}
initStates() {
this.JamesState: IState = newState('James')
this.RoyState: IState = newState('Roy');
this.RoyState.age = 20;
}
这不一定是真的。您无需定义接口即可使其工作。是的,您可以在不定义接口的情况下设置
any
。不过,拥有接口是一种很好的做法。只要意识到我为已经定义的thisRoyState.age设置了类型即可。Javascript是完全有效的typescript,您不必定义类型。这就是说,如果您计划不使用类型,您可能根本就不使用typescript。@MikeS。正确的。问题中的问题与类型有关,因为newPRYState
方法的返回类型是一个对象,所以this.JamesState
和this.RoyState
的类型会自动设置为对象,因此问题会在编译中出现。这不一定是真的。您无需定义接口即可使其工作。是的,您可以在不定义接口的情况下设置any
。不过,拥有接口是一种很好的做法。只要意识到我为已经定义的thisRoyState.age设置了类型即可。Javascript是完全有效的typescript,您不必定义类型。这就是说,如果您计划不使用类型,您可能根本就不使用typescript。@MikeS。正确的。问题中的问题无论如何都与类型有关,因为newPRYState
方法的返回类型是一个对象,所以this.JamesState
和this.RoyState
的类型会自动设置为对象,因此编译过程中会出现问题。
interface IState {
name: string;
age: number;
}
newPRYState(name: string): IState {
let state: IState = {
name : name,
age : 0
}
return state;
}
initStates() {
this.JamesState: IState = newState('James')
this.RoyState: IState = newState('Roy');
this.RoyState.age = 20;
}