看了众多大佬的推荐之后,这两天决定从JS转向TS的怀抱。
第一反应,智能提示针不戳,好方便;
第二反应,报错在哪儿也比JS定位精确,不用人肉判断错误位置了,再不戳一个;
第三反应,规矩好多啊!相比之下JS真的是随心所欲,就跟写自然语言一样了,TS果然像很多大佬说的,更像程序语言。
所以,我现在就是在学习各种新规矩中痛苦的前行。目前最先遇到的问题就是变量声明,以前JS的时候,就是随便写,总归能用的。现在搞了半天还是没掌握TS的写法,有个很具体的问题,求助下大佬们。
首先,下面这两种声明的方法有啥区别?看了很久都没看到有人说这个,难道这个问题太基础了?
第一种
@property
abc: string = null;
第二种
public/private abc: string = null;
其次,我想声明一个这种样子的数组,但使用的时候总是跳cannot read/set property ‘’ of null/undefined这些错误,有大佬能指点下么?
class xxx {
private static eventList: {eventName: string; eventNum: string;}[] = [] //这里要是写null的话,就报null的错误
var abc = “aaa”;
this.eventList[0].eventName = abc; //这里报cannot set property ‘eventName’ of undefined
}
讲道理,我新建的数组,肯定是空的没有数据的咯,总归有个第一次添加数据的操作吧,在TS里应该怎么做呢?