Typescript基础|青训营笔记

52 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

1.今天课程重点

JavaScript与typescript的区别,TS定义变量、对象、函数等,由于作者能力的有限,分享的笔记不多~

JavaScript与typescript的区别

JavaScript与typescript都是弱类型语言 而JavaScript是动态类型,typescript是静态类型

补充小知识

  • 弱类型语言:是指数据类型可以被忽略,一个变量可以赋予不同数据结构的值,如在JavaScript中,它允许变量类型的隐式转换,例如字符串可以自动转化为数值,数值可以转化为字符串,如下面代码:
    let a='123'
    let b=4
    let c=a+b
    c的值为‘1234’
  • 动态类型: 动态类型语言是指在运行期间才去做数据类型检查的语言,说的是数据类型,动态语言说的是运行是改变结构,说的是代码结构。动态类型语言的数据类型不是在编译阶段决定的,而是把类型绑定延后到了运行阶段。
  • 静态类型:静态语言的数据类型是在编译期间确定的或者说运行之前确定的,编写代码的时候要明确确定变量的数据类型。

Typescript是静态类型:

可读性增强:基于语法解析TSDoc,ide增强,可以自动生成一些文档
可维护性增强:在编译阶段暴露大部分错误

因此在多人合作的大型项目中,可以获得更好的稳定性和开发效率 而且Typescript是JavaScript的超集,包含与兼容JS特性,支持共存 支持渐进式引入和升级

Typescript语法

  • JS定义变量
    const q='string';
    const n=1;
    const e=true;
    const r=null;
  • TS定义变量
    const q:string ='string';
    const n:number=1;
    const e:boolean=true;
    const r:null=null;
    我自己总结就是TS定义变量在JS的基础上加上了变量的类型也就是多了
:变量的数据类型

定义对象

定义对象是通过一个接口来定义
接口中要定义对象中的属性
接口中有三种属性:
  • 只读属性:初始化之后不能赋值
  • 可选属性:定义该属性可以不存在,一般是多选的情况
    
  • 任意属性:约束所有对象属性都必须是该属性的子类型
    

以上是我对TS的一些基础知识笔记的分析理解。