一文分清强弱、动态静态类型语言

上文提到前端为什么需学习TypeScript,那么TypeScript属于什么类型语言呢?
看完本文你便能摸索出来前端

强弱类型语言

强类型语言:当一个对象从调用函数传递到被调用函数时,其类型必须与被调用函数中声明的类型兼容函数

A(){
	B(x)
}
B(y){
	//y能够被赋值x,程序运行良好
}

强类型语言:不容许改变变量的数据类型,除非进行强制类型转换工具

class C{
    public static void main(String[] args){
        int x = 1;
        bollean y = true;
        x = y //boolean cannot be converted to int
    }
}

弱类型语言:变量能够被赋予不一样的数据类型性能

let x = 1;
let y = true;
x = y //true

静动态类型语言
静态类型语言:在编译阶段肯定全部变量的类型单元测试

动态类型语言:在执行阶段肯定全部变量的类型学习

静态类型语言 动态类型语言
对类型极度严格 对类型很是宽松
当即发现错误 Bug可能隐藏数月甚至数年
运行时性能好 运行时性能差
自文档化 可读性差




 

动态类型语言的支持者认为:测试

  性能是能够改善的(V8引擎),而语言的灵活性更重要spa

  隐藏的错误能够经过单元测试发现code

  文档能够经过工具生成对象

  能够改善的(V8引擎),而语言的灵活性更重要

  隐藏的错误能够经过单元测试发现

  文档能够经过工具生成

 

相关文章
相关标签/搜索