首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么TypeScript允许1+ '1‘= '11'?它背后的设计理念是什么?

为什么TypeScript允许1+ '1‘= '11'?它背后的设计理念是什么?
EN

Stack Overflow用户
提问于 2020-04-23 03:52:01
回答 1查看 90关注 0票数 2

如果这个想法是向系统中添加类型,为什么它仍然允许JavaScript风格的强制?(新手在这里尝试理解设计思维。谢谢!)

EN

回答 1

Stack Overflow用户

发布于 2020-04-23 04:21:54

因为:

  • Typescript是Javascript + type。所以,Javascript可以做的Typescript也可以做that.
  • Typescript代码不能直接由web浏览器执行。必须将其转换为Javascript。在转置过程中,所有类型信息都将被删除。这一点解释了上面的问题。
  • 甚至像C#这样的强类型编程语言,允许向string.
  • As添加number C#允许向string添加number。因此,Typescript没有理由不允许,因为它们都是由Microsoft.
  • You创建的,所以可以将Typescript的类型系统视为帮助您创建更健壮的代码的工具。例如,让我们看一下下面的代码:

设a: number = 1;b: string = '1';a= false;console.log(a +b);你能猜出输出吗?

哦,等等,代码会编译/转译吗?

输出为false1,并且打字代码仍然成功地转换为Javascript代码。但是,代码转换程序会在您的脸上显示一个错误:Type 'false' is not assignable to type 'number'。这就是为什么我说Typescript中的type是可选的。它只是为了让你的代码更健壮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61373933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档