zoukankan      html  css  js  c++  java
  • 一文分清强弱、动态静态类型语言

    上文提到前端为何需学习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引擎),而语言的灵活性更重要

      隐藏的错误可以通过单元测试发现

      文档可以通过工具生成

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

      隐藏的错误可以通过单元测试发现

      文档可以通过工具生成

     

  • 相关阅读:
    codeforces 349B Color the Fence 贪心,思维
    luogu_2022 有趣的数
    luogu_2320 [HNOI2006]鬼谷子的钱袋
    luogu_1879 [USACO06NOV]玉米田Corn Fields
    SAC E#1
    luogu_1984 [SDOI2008]烧水问题
    luogu_2085 最小函数值
    luogu_1631 序列合并
    luogu_1196 银河英雄传说
    luogu_1037 产生数
  • 原文地址:https://www.cnblogs.com/jfen625/p/13056583.html
Copyright © 2011-2022 走看看