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