采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我想问一个课程之外的问题,为什么现在使用一个 nest 脚手架创建的项目,tsconfig.json 文件中的 target:ES2021 而非 ESNext,主要是因为怕 ts 转换为 js 后 2021 版本的装饰器与 ESNext的装饰器语法不同而产生兼容性问题吗?
target:ES2021
ESNext
ES2022 以上的版本让属性装饰器失效, 故nest 选择了 ES2021
这里面其实是个陷阱,在老版本的JS中如果说类的属性没有给初始化值时,这个属性会被丢弃可以理解为相当于没有写这个属性。而新版本ES2022或之后的ESNext中,类里面的属性没有初始化值时这个属性依旧保留值为 undefined。这个机制属性装饰器无关。
非常感谢!老师的确是老程序员,技术实力非常强
登录后可查看更多问答,登录/注册
从纯前端到“真正懂后端的前端”
626 6
479 5
499 5
537 5
446 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号