美文网首页JavaScript 进阶营
静态型语言和动态类型语言

静态型语言和动态类型语言

作者: super_wei | 来源:发表于2019-12-04 16:52 被阅读0次

    最近在接触TypeScript,研究和平常JavaScript的使用区别;前者声明变量的时候就要定义相应的类型,后者的变量可以根据环境来改变它的类型;这个就设计到强弱类型语言的区别了; 

    动态类型语言

      静态类型语言就算它的类型可以根据环境而进行转换的,也就是说检查是在运行时才做的,如:

      var a = 1
      console.log(a+'1') // '11'
      console.log(a-'1') // 0

    在进行 a+'1'运算的时候,a先会把自身转化为字符串然后再更'1'进行拼接;
    运算a - '1' 的时候'1'会转化成1然后进行减法运算;
    动态类型在解释语言中极为普遍,如 JavaScript、Perl、Python、Ruby 等等。

    静态类型语言

    静态类型语言的话刚好和动态类型相反,静态类型语言类型检查是在运行前的编译阶段确定的。除非强制装换的话,类型时不能变更的。C/C++、C#、Java都是静态类型语言的典型代表。

    相关文章

      网友评论

        本文标题:静态型语言和动态类型语言

        本文链接:https://www.haomeiwen.com/subject/xdelgctx.html