TypeScript自学课(1)-强类型与弱类型
类型
如果你用维基百科搜索类型这个词的定义,会发现: 类型存在于各个领域。
而在计算机中,类型可以确认一个值或者一组值具有特定的意义和目的(虽然某些类型,如抽象类型和函数类型,在程序运行中,可能不表示为值)。
熟悉一点编程知识的人知道“HelloWorld”是一个字符串类型, 1234是数字类型,true是布尔类型。
类型是编程的基础。JS有类型,其他编程也有类型。
由类型引申的需要特别需要注意的概念还有:
类型系统(英语:type system)用于定义如何将编程语言中的数值和表达式归类为许多不同的**类型**,如何操作这些类型,这些类型如何互相作用。
类型检查所进行的检验处理以及实行类型的约束,可发生在编译时期(静态检查)或运行时期(动态检查)。静态类型检查是在编译器所进行语义分析中进行的。如果一个语言强制实行类型规则(即通常只允许以不丢失信息为前提的自动类型转换)就称此处理为强类型,反之称为弱类型。
弱类型
像VB,PHP,JavaScripJS是弱类型语言,创建一个属性或者变量,即使分配了某种确定类型的值,我们仍然可以在运行时切换类型。
let userName='搞前端的半夏'
userName=123
强类型
像Java,Python,C++就是强类型语言,在变量定义的时候,就会指定变量的类型。
int userName='搞前端的半夏'
一旦变量的类型确定,如果不经过强制类型转换,那么它永远就是该数据类型。
TS是强类型的,一旦我们给创建的变量分配了一个 特定类型的值,TypeScript就会要求我们该变量的值保持类型不变。
对于上面的代码,我们用TS重写:
let userName:string='搞前端的半夏'
userName=123
在TS环境中会报错:
同时大家会发现:
弱类型的语言在声明变量时,并不会明确的指定变量的类型
强类型的语言则必须指定变量的类型,正如在C语言中我们想要定义一个数字类型的变量,我们必须使用int或者float:
float f,x=3.6,y=5.2;
int i=4,a,b;
- 点赞
- 收藏
- 关注作者
评论(0)