TypeScript入门教程二(通俗易通)

上篇文章讲到TypeScript的一些基础部分(原始数据类型,任意值,类型推断,联合类型,接口),下面继续介绍一些基础部分!

一.数组的类型

怎么定义一个数组呢,下面有几种方式:

1.最简单的方法是使用「类型 + 方括号」来表示数组
let arr:number[]=[1,2,3,4,5,6];

这里限制了数组里面值的类型是number类型,否则就会报错!
在这里插入图片描述
在这里插入图片描述
这里 '1’不是number类型所以报错!
在这里插入图片描述
在这里插入图片描述
因为限制了值的类型,所以只能push number 类型!

2.用接口表示数组
interface arrType{
       [index:number]:number
}
let arr:arrType=[1,2,3,4,5]

虽然接口也可以用来描述数组,但是我们一般不会这么做,因为这种方式比前两种方式复杂多了!但是如果是类数组的话,就不能用普通的方式来描述,而应该用接口(比如函数中的arguments)

function test() {
    let arg:number[]=arguments
}

typeScript环境下:
在这里插入图片描述
在这里插入图片描述
大致意思是说类数组不能用number[]来描述,它缺少数组的pop方法!那么下面我们用接口来描述:

function test() {
    let arg:argumentsType=arguments
}

interface argumentsType{
    [index: number]: number;
    length: number;
    callee: Function;
}
3.any 在数组中的应用
let arr: any[] = ["1", 2, 3, {"a":1,"b":2},[1,2,3,4]]

一个比较常见的做法是,用 any 表示数组中允许出现任意类型。

4.数组泛型
let arr:Array<number>=[1,2,3,4,5,6]

我们也可以使用数组泛型(Array Generic) Array 来表示数组。

二.函数的类型

一般函数定义有两种方式:

1.函数声明
function test(x: number, y: number): number {
    return x + y;
}
test(1,2);

输入多余的(或者少于要求的)参数,是不被允许的!

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
上面是说实参和形参不一致的错误!

2.函数表达式
let test = function (x:number,y:number) {
    return x + y;
}
test(1,2)

或者

let test:(x:number,y:number)=>number = function (x:number,y:number) {
    return x + y;
}
test(1,2)

在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。另外我们也可以用接口定义函数的形状,看下面代码:

interface type {
    (x: number, y: number): number;
};
let test: type;

test = function (x: number, y: number): number {
    return x + y;
}
3.函数可选参数

可选参数必须接在必需参数后面。换句话说,可选参数后面不允许再出现必需参数了!

function test(x: number, y?: number) {
    return x + y;
}
test(1);
test(1, 2);

typeScript环境下:
在这里插入图片描述
上面代码是正常的,再看看下面代码:

function test(x?: number, y: number) {
    return x + y;
}
test(1);
test(1, 2);

typeScript环境下:
在这里插入图片描述

在这里插入图片描述
报错:一个必写参数不能跟随一个可选参数

3.函数参数默认值

TypeScript 会将添加了默认值的参数识别为可选参数

function test(x: number, y: number = 3) {
    return x + y;
}
test(1);
test(1, 2);

typeScript环境下:
在这里插入图片描述

在这里插入图片描述

4.函数剩余参数

使用 …rest 的方式获取函数中的剩余参数(rest 参数)

function test(arr, ...items) {
    items.forEach(function (item) {
        arr.push(item);
    })
}
let arr: any[] = [];
test(arr, 1, 2, 3);
console.log(arr);

typeScript环境下:
在这里插入图片描述
执行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值