【发布时间】:2018-06-01 06:48:05
【问题描述】:
这里我将变量results定义为一个字符串数组:
let results: string[];
在下面,我指定了一个值来启动:
results['searchCaption'] = "";
然后,节目以ERROR TypeError: Cannot set property 'searchCaption' of undefined 结束
我在这里缺少什么?我需要先为它定义一个接口吗?
【问题讨论】:
-
你初始化数组了吗?即:
let results: string[] = []?从错误中可以看出结果未定义,表明您从未为其分配任何内容。 -
string[]只定义了变量的类型。它没有分配任何东西。 -
results['searchCaption'] = "";不是有效的数组语法。数组是基于索引的 - 对象是基于键的。 -
完美指针!当然是这样。一直以来,我都在想
let results: string[];无论如何都会以 results = [] 开始!我认为在 ASP 中,情况并非如此,我的记忆误导了我。谢谢!克赖斯! -
很高兴为您提供帮助,但根据 @tymeJV 的评论,您将事物分配给数组,就好像它是一个对象一样,这虽然可能,但绝对是一种反模式。
标签: typescript