TypeScript的静态类型
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。
TypeScript 的一个最主要特点就是可以定义静态类型,英文是 Static Typing。那到底是什么意思那?太复杂的概念性东西这里就不讲了,你可以简单的理解“静态类型”为,就是你一旦定义了,就不可以再改变了。比如你是男人就是男人,一辈子都要作男人;是女人就是女人,一辈子都是女人。这个事不可以改变!呃…好像现在也可以随便变来变去啊,这里说的是正常情况。但是它还有一些特性,这个并不像表面的那么简单。现在我们就来学习。
如何定义静态类型
你可以在上期的文件夹下建立一个新的demo2.ts
文件,然后写下这段代码:
const count: number = 1;
这就是最简单的定义一个数字类型的count
的变量,这里的: number
就是定义了一个静态类型。这样定义后count
这个变量在程序中就永远都是数字类型了,不可以改变了。比如我们这时候给count
复制一个字符串,它就报错了。
//错误代码
const count: number = 1;
count = "Code程序人生";
但这只是最简单的理解,再往深一层次理解,你会发现这时候的count
变量,可以使用number
类型上所有的属性和方法。我们可以通过在count
后边打上一个.看出这个特性,并且编辑器会给你非常好的提示。这也是为什么我喜欢用VScode
编辑器的一个原因。
自定义静态类型
你还可以自己去定义一个静态类型,比如现在你定义一个小姐姐
的类型,然后在声明变量的时候,就可以使用这个静态类型了,看下面的代码。
interface XiaoJieJie {
uname: string;
age: number;
}
const xiaohong: XiaoJieJie = {
uname: "小红",
age: 18,
};
这时候你如果声明变量,跟自定义不一样,VSCode
直接就会报错。需要注意的是,这时候xiaohong
变量也具有uname
和age
属性了。
这期你需要记住的是,如果使用了静态类型,不仅意味着变量的类型不可以改变,还意味着类型的属性和方法也跟着确定了。这个特点就大大提高了程序的健壮性,并且编辑器这时候也会给你很好的语法提示,加快了你的开发效率。
随着你不断的深入学习,你会对这两个优点有更深的理解。
有微信小程序课设、毕设需求联系个人QQ:505417246
关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs、Python等实战学习资料
最新最全的前端知识总结和项目源码都会第一时间发布到微信公众号,请大家多多关注,谢谢
关注公众号后,回复前端面试题,领取大量前端面试题汇总pdf资料
相关文章
- 1602液晶静态显示
- SEO误区之——静态化页面
- SpringBoot 之静态资源
- [Typescript] Making TypeScript Stick - 6 - infer, build a ConstructorArg Type
- [TypeScript] Make typescript stick - 2
- [Typescript] Narrow the unknown Type with TypeScript's Assertion Functions
- [Typescript] Statically Type Unknown Values with TypeScript's unknown Type
- [Typescript] Extend Functionality of a TypeScript Class with Decorators
- [Typescript] Make TypeScript Class Usage Safer with Strict Property Initialization
- [Typescript Kaop-ts] Use AOP in Vue Components with TypeScript and Kaop-ts
- [Typescript] Defining exclusive properties with TypeScript
- [Typescript 4.9] TypeScript 4.9: satisfies operator
- [Typescript] Making TypeScript Stick - 3
- [Typescript] Prevent Type Widening of Object Literals with TypeScript's const Assertions
- [Typescript] Create Type From Any Given Data in TypeScript
- [Typescript] Extend Functionality of a TypeScript Class with Decorators
- [Typescript] Improve Readability with TypeScript Numeric Separators when working with Large Numbers
- [TypeScript] Function Overloads in Typescript
- Python爬虫基础:初探selenium——动态网页&静态网页
- Python Flask框架学习10:Flask 静态文件
- Nginx伪静态配置和常用Rewrite伪静态规则集锦
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
- 在Android中通过导入静态数据库来提高应用第一次的启动速度
- 线程安全:局部静态变量的初始化
- Helix QAC企业级自动代码静态分析器
- 通过实例分析理解浮动静态路由、路由负载分担
- 代码静态测试工具的不二之选 Helix QAC 2022.4 版本新功能解析