Typescript基本类型---下篇

Posted 前端小白在前进

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Typescript基本类型---下篇相关的知识,希望对你有一定的参考价值。

目录

ts专栏 ===> 🌈 typescript入门到拔高🌈(持续更新中…)

类型

类型例子描述
objectname:‘孙悟空’任意的JS对象
array[1,2,3]任意数组
tuple[4,5]元组,TS新增类型,固定长度数组
enumenumA, B枚举,TS中新增类型

object

object表示一个js对象

let a : object;
a = ;
//function也是一个对象
a = function ();

在实际开发中我们不会这样去书写对象,我们会采取以下的写法:

let b : name:string,age?:number;
b = name:'孙悟空';

用来指定对象中可以包含哪些属性
语法 :属性名:属性值
在属性名后面加上一个 ?表示属性是可选的(可填可不填)

let c : name:string,[propName:string]:any;
c = name : 'xxx',age : 18,sex : '男'

[propName:string]:any 表示任意类型的属性

函数

设置函数结构的类型声明:
语法:(形参:类型,形参:类型…) => 返回值

let d : (a:number,b:number)=>number;
d = function (fn1,fn2)
    return fn1 + fn2

这种写法是先定义再去书写函数,直接一条龙写法如下:

function fn1(a : number,b : number):number 
    return a + b

//es6箭头函数写法
let cc = (a:number,b:number) : number => 
    return a + b

array

数组的类型声明:

  • 语法: 类型[]Array<类型>

  • 例子:
    string[] 表示字符串数组

    let e : string[];
    e = ["a",'b','f'];
    let g : Array<string>;
    g = ['1','3','5']
    

    number[] 表示数值数组

    let f : number[];
    f = [1,2,3];
    

tuple(元组)

  • 元组的通俗定义: 元组就是固定长度的数组

  • 语法: [类型,类型]

    let h : [string,string];
    h = ['hello','abc'];
    

enum(枚举)

直观定义: 事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。比如:性别中的男和女,在枚举中可以用0和1表示
写法代码如下:

enum Gender 
    Male,
    Female

let i : name:string,sex:Gender;
i = 
    name : 'james',
    sex : Gender.Male

&的使用

在上篇我们讲到了特殊符号|,它表示或者的意思,而在这里&表示并且的意思,它在ts中使用如下:

//& 表示同时
let j : age : number & name : string
j = age:15,name:'xxx'

类型别名

通俗解释: 你自己专门设置一个“类型”,当取值的时候按照你这个类型要求取即可。
示例代码如下:

type myType = 1 | 2 | 3 | 4 | 5
let k : myType = 2
let l : myType = 5
let m : myType = 1

在这里我设置了myType类型,我自己设置的类型要求可以从1-5任意取一个值,当我要取值的时候,直接将声明的变量指定我自己设置的myType类型,便可以实现只能从1-5之间选取一个数。

小结

在下篇中讲到了平常项目开发中用到最多的元素:数组、对象、函数,ts中数组的写法无非是限制了数组的类型,一个数组不会再像js那样出现多个类型属性,而是去指定这个数组的类型,比如:如果我们限制了数组的类型number,我们数组中的元素就只能是number类型。
对象和函数无非都是加上了ts专门的限制而已。

以上是关于Typescript基本类型---下篇的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的程序设计 --- 下篇 继承启蒙

领域驱动设计简介(下篇)

DispatcherServlet的逻辑处理(下篇)

JVM监控诊断之工具使用(下篇)

JVM监控诊断之工具使用(下篇)

JVM监控诊断之工具使用(下篇)