TypeScript自学课(1)-强类型与弱类型

举报
搞前端的半夏 发表于 2022/04/30 08:39:28 2022/04/30
【摘要】 类型如果你用维基百科搜索类型这个词的定义,会发现: 类型存在于各个领域。而在计算机中,类型可以确认一个值或者一组值具有特定的意义和目的(虽然某些类型,如抽象类型和函数类型,在程序运行中,可能不表示为值)。熟悉一点编程知识的人知道“HelloWorld”是一个字符串类型, 1234是数字类型,true是布尔类型。类型是编程的基础。JS有类型,其他编程也有类型。JavaScript 语言中类型...

类型

如果你用维基百科搜索类型这个词的定义,会发现: 类型存在于各个领域。

而在计算机中,类型可以确认一个值或者一组值具有特定的意义和目的(虽然某些类型,如抽象类型和函数类型,在程序运行中,可能不表示为值)。

熟悉一点编程知识的人知道“HelloWorld”是一个字符串类型, 1234是数字类型,true是布尔类型。

类型是编程的基础。JS有类型,其他编程也有类型。

JavaScript 语言中类型集合由原始值对象组成。

由类型引申的需要特别需要注意的概念还有:

类型系统(英语:type system)用于定义如何将编程语言中的数值表达式归类为许多不同的**类型**,如何操作这些类型,这些类型如何互相作用。

类型检查所进行的检验处理以及实行类型的约束,可发生在编译时期(静态检查)或运行时期(动态检查)。静态类型检查是在编译器所进行语义分析中进行的。如果一个语言强制实行类型规则(即通常只允许以不丢失信息为前提的自动类型转换)就称此处理为强类型,反之称为弱类型

弱类型

像VB,PHP,JavaScripJS是弱类型语言,创建一个属性或者变量,即使分配了某种确定类型的值,我们仍然可以在运行时切换类型。

let userName='搞前端的半夏'

userName=123

强类型

像Java,Python,C++就是强类型语言,在变量定义的时候,就会指定变量的类型。

int userName='搞前端的半夏'

一旦变量的类型确定,如果不经过强制类型转换,那么它永远就是该数据类型。

TS是强类型的,一旦我们给创建的变量分配了一个 特定类型的值,TypeScript就会要求我们该变量的值保持类型不变。

对于上面的代码,我们用TS重写:

let userName:string='搞前端的半夏'
userName=123

在TS环境中会报错:

image-20220406232626995

同时大家会发现:

弱类型的语言在声明变量时,并不会明确的指定变量的类型

强类型的语言则必须指定变量的类型,正如在C语言中我们想要定义一个数字类型的变量,我们必须使用int或者float:

float f,x=3.6,y=5.2;
int i=4,a,b;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。