猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
JavaScript是非类型化语言吗?
我发现有人将JavaScript称为“动态,弱类型”语言,但有人甚至说“未类型”?到底是什么
紫衣仙女
浏览 540
回答 3
3回答
HUH函数
JavaScript 未输入类型:甚至布伦丹·艾希(Brendan Eich)也是这样。在Twitter上,他回复了一个与此问题相关的话题:学术类型使用“无类型”来表示“没有静态类型”因此,问题在于untyped有一些不同的定义。在上面的答案之一中已经讨论了一个定义-运行时不标记值,而只是将每个值视为位。JavaScript 会标记值,并基于这些标记具有不同的行为。因此,JavaScript显然不适合此类。另一个定义来自编程语言理论(Brendan所指的学术东西)。在此域中,未类型化只是意味着所有内容都属于一个类型。为什么?因为一种语言只有在可以证明类型对齐时才会生成程序(又称Curry-Howard对应;类型是定理,程序是证明)。这意味着使用非类型化语言:程序总是生成因此类型总是匹配的因此必须只有一个类型与输入语言相反:可能未生成程序因为类型可能不匹配因为程序可以包含多种类型因此,在PLT中,untyped仅表示动态类型,而typed仅表示静态类型。JavaScript绝对不在此类别中。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续