我正在尝试将字符串推送到typescript数组,它的抛出错误`无法推送到未定义的" ,这是正确的方式还是我需要使用扩展运算符?
api.ts
const api: IConfigName = {name: "getKey"};
const Name = "Web";
api.optionalParam.push(Name);
IConfig.interface.ts
export interface IConfigName {
name: string;
optionalParam?: string[];
}
答案 0 :(得分:5)
您需要使用空数组初始化 optionalParam
,如下所示,
api.optionalParam = [];
api.optionalParam.push(Name);
答案 1 :(得分:2)
你得到的是因为没有" optionaParam"在api
对象中定义。
您的api对象目前只有一个,即" name"
要修复,你可以像这样添加optionalParam:
const api: IConfigName = {name: "getKey", optionalParam:[] };
const Name = "Web";
api.optionalParam.push(Name);
这应该可行,因为api现在有一个OptionalParam键,带有一个数组类型。