请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于一个nestjs的问题

老师,我想问一个课程之外的问题,为什么现在使用一个 nest 脚手架创建的项目,tsconfig.json 文件中的 target:ES2021 而非 ESNext,主要是因为怕 ts 转换为 js 后 2021 版本的装饰器与 ESNext的装饰器语法不同而产生兼容性问题吗?

正在回答

1回答

ES2022 以上的版本让属性装饰器失效, 故nest 选择了 ES2021 

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉3946981 #1
    这里面其实是个陷阱,在老版本的JS中如果说类的属性没有给初始化值时,这个属性会被丢弃可以理解为相当于没有写这个属性。而新版本ES2022或之后的ESNext中,类里面的属性没有初始化值时这个属性依旧保留值为 undefined。这个机制属性装饰器无关。
    回复 有任何疑惑可以回复我~ 2024-06-20 22:01:16
  • 提问者 慕粉3946981 #2
    非常感谢!老师的确是老程序员,技术实力非常强
    回复 有任何疑惑可以回复我~ 2024-06-20 22:33:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信