Angular学习笔记:typeScript的语言特性

本文是自己的学习笔记,主要参考资料如下。

- B站《2020最新Angular实战教程》,老陈打码制作,https://www.bilibili.com/video/BV1i741157Fj?p=2。


1、typeScript数据类型

编程语言的数据类型都大同小异,对于typeScript而言,有以下几个特点。

  1. 变量强类型:当定义变量确定类型之后,不可再改变。比如isDone定义为布尔类型,对该变量赋值为1会报错。

在这里插入图片描述

  1. 指定函数返回类型:可像Java一样指定函数的返回值类型。
function f(): number {}
  1. 一变量可同时具有多个类型。
let cat: string | number;
  1. 任意类型
let cat: any;




2、接口

typescript接口的定义方式与Java一样,如下所示

interface Student {
	name: string;
	age: number;
}

但是typescript的接口还是有些独特的东西。

2.1 继承接口必须完全继承

继承接口必须完全继承不仅不能少,也不能多。比如下面的定义会报错。

let student1: Student = {
	name: 'dd',
	age: 1,
	grade: 100
};

2.2. 定义继承时可以不继承的属性

如果有属性可继承也可以不继承,那就在接口定义时给该属性加上?。比如下面定义接口,实现这个接口时就可以不管age属性。

interface Student {
  name: string;
  age?: number;
}
let student1: Student = {
	name: 'aa'
}

2.3. 允许实现类添加额外的属性

允许实现类自由发挥,可以添加其他类型的属性,就在接口定义时加上[propName: string]。比如下面的定义,就允许实现类添加无限多的string类型的变量。

interface Student {
  name: string;
  age?: number;
  [propName: string]: string;
}
let student1: Student = {
  name: 'dd',
  aa: 'dd',
  dd: '23'
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值