IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> TypeScript快速入门(二) -> 正文阅读

[JavaScript知识库]TypeScript快速入门(二)

上一章:TypeScript快速入门(一)(陆续更新知识点)

6.TypeScript中数组类型的定义

一般数组类型定义(类型推断):

/**
 * 一般数组类型定义(类型推断)
 */
const numberArr = [1,2,3]; //此时类型推断出numberArr 为 number[];

一般数组类型定义(类型注解):

/**
 * 一般数组类型定义(类型注解)
 */

const numberArr : number[] = [ 1,2,3];

同理我们可以定义字符串数组:

/**
 * 同理我们可以定义字符串数组
 */
const strArr : string[] = ["one","two","three"]

综上所述,可以发现,我们是可以任意类型的数组都是可以定义的

/**
 * 综上所述,可以发现,我们是可以任意类型的数组都是可以定义的
 */
const undefinedArr : undefined[] = [undefined,undefined];

多重类型数组 举个例子:包含有字符串以及数字类型的数组:

/**
 * 多重类型数组 举个例子:包含有字符串以及数字类型的数组
 */
const strAndNumberArr :(string | number)[] = ["1","2",3];

定义一个包含对象的数组(不使用类型别名)

/**
 * 定义一个包含对象的数组(没有使用类型别名)
 */
const objArr: {
    name: string,
    age: number
}[] = [
    {name: "houwenyao",age: 24}, 
    {name: "liuyipeng",age: 25}
]

定义一个包含对象的数组(使用类型别名)

类型别名:类型别名用来给一个类型起个新名字

/**
 * 定义一个包含对象的数组(使用类型别名)
 */
type people = {
    name:string,
    age:number
}
const objArr :people[] = [
    {name:"houwenyao",age:24},
    {name:"liuyipeng",age:25}
]

定义一个包含类的数组 ,(类中的属性以分号分割)

/**
 * 定义一个包含类的数组 ,(类中的属性以分号分割)
 */
class Person {
    name:string;
    age:number;
}
const classArr : Person[] = [
    {name:"liuyipeng",age:25},
    {name:"houwenyao",age:24}
]

07.TypeScript中interface接口的使用(注意接口非必选值的定义)


/**
 * 接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现
 */
//定义接口IPerson
interface IPerson {
    name: string,
    age: number,
    sex: string,
    hobby?:string //定义可选值 注意在:号前面加 ?
}
/**
 * 定义对象Boy实现接口IPerson
 */
const Boy : IPerson = {
    name:"liuyipeng",
    age:25,
    sex:"男",
    hobby:"basketball"
}
const Girl : IPerson = {
    name:"houwenyao",
    age:24,
    sex:"女",
}
/**
 * 定义方法实现接口
 */
const getBoy = (Boy:IPerson):void => {
    console.log(Boy.name)
    console.log(Boy.age)
    console.log(Boy.sex)
    console.log(Boy.hobby)
}
getBoy(Boy);
getBoy(Girl);

输出结果:(undefined与null不一样,前者是有属性无值,后者为无属性)
在这里插入图片描述
定义一个允许加入任意值的接口(如果删除[propname:string] :any,程序会报错)

/**
 * 定义一个允许加入任意值的接口
 */

interface IBoy {
    name:string,
    age:number,
    sex:string,
    [propname:string] :any //属性的名字是字符串类型,属性的值可以是任何类型any
}
const boy:IBoy = {
    name:"liuyipeng",
    age:25,
    sex:"男",
    hobby:"basketball" //只要符合在接口定义的规范,都可以作为属性添加
}
const getPeople = (boy:IBoy)=>{
    console.log(boy.name)
    console.log(boy.age)
    console.log(boy.sex)
    console.log(boy.hobby) 
}
getPeople(boy)
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:06:48  更:2021-08-04 11:09:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 3:49:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码