广告
返回顶部
首页 > 资讯 > 精选 >TypeScript数据类型的作用
  • 120
分享到

TypeScript数据类型的作用

2023-06-20 14:06:03 120人浏览 泡泡鱼
摘要

本篇内容介绍了“typescript数据类型的作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录基础类型any类型数组元组Interfa

本篇内容介绍了“typescript数据类型的作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

目录
  • 基础类型

  • any类型

  • 数组

  • 元组

  • Interface

  • 函数

  • 类型自推

  • 联合类型(二选一甚至多选一)

  • class

  • 枚举

基础类型

ts中支持更多的类型

let age: number = 10 // Numberlet firstName: string = '凉宸' // Stringlet lastName: string = '凉宸' // Stringlet isMary: boolean = true // booleanlet unde: undefined = undefined // undefinedlet nu: null = null // null

undefinednull 可以作为值赋值给其他类型,因为这两个可以看作其他类型的子类型

赋值的时候一定要根据定义的数据类型做赋值,否则会有如下提示错误

  • 声明变量时,类型与值不符

  • 为变量重新赋值时,类型与值不符

TypeScript数据类型的作用

TypeScript数据类型的作用

TypeScript数据类型的作用

TypeScript数据类型的作用

TypeScript数据类型的作用

any类型

有的时候我们无法确定变量类型,我们可以将其指定类型为any

当我们赋值给其any类型后,可以为其赋任意值,且不会报错

let isAny:any='任意类型any'isAny=520isAny=trueisAny=null

但是为了避免类型不明确,我们还是尽量少使用any

any 类型的特点

  • 允许赋值为任意类型

  • 可以访问任意属性和方法

let userName: any = '凉宸';// 可以访问任意属性console.log(userName.name);console.log(userName.name.firstName);// 可以调用任意方法userName.setName('David');userName.setName('David').sayHello();userName.name.setFirstName('David');

数组

我们可以指定数组内元素类型

let ages: number[] = [5, 20, 13, 14]let names: string[] = ['凉宸','路飞', '明世隐', '李杨勇']

TypeScript数据类型的作用

TypeScript数据类型的作用

类数组:

类数组是不会拥有数组拥有的方法,tsc能够自动识别两者

let arguments=[555,555,55]function lei(){  let arr:number=arguments}

TypeScript数据类型的作用

元组

基本类似于数组,但是类型可以是多种

let arr:[number,string,boolean]=[520,'凉宸',true]

TypeScript数据类型的作用

我们在赋值时一定要根据类型顺序填写

TypeScript数据类型的作用

TypeScript数据类型的作用

元素能多不能少

let arr:[number,string,boolean]=[520,'凉宸',true]arr.push('b') // 可以arr.push(4) // 可以arr.push(true) // 可以console.log(arr)
let arr:[number,string]=[520,'凉宸']arr.push('b') // 可以arr.push(4) // 可以arr.push(true) // 不可以console.log(arr)

TypeScript数据类型的作用

Interface

  • 接口可以理解为纲领、比较抽象,其中不会规定的具体的行为,也就是说接口中,我们只定义有属 性,哪些方法以及属性的类型,方法的抽象,不会为属性赋值,也不会定义方法的实现

  • 类的话一般属性要赋值,方法也要有实现

  • Interface 的声明像 class,成员更像字面量对象,而不是 class

作用:

  • 对对象的形状(shape)进行描述

  • Duck Typing(鸭子类型)

interface Point{  userName:string|number  passWord:number}  // 此时执行tsc不会解析出相应的js代码,因为此类型是ts特有的,只是表示约束
interface Point{  userName:string|number  password:number}let value:Point={  userName:'admin@qq.com',  password:123456}let val:Point={  userName:55555,  password:123456}  // 此时两种都符合,在执行tsc// 只是出现如下代码,没有任何约束jsvar value = {    userName: 'admin@qq.com',    password: 123456};var val = {    userName: 55555,    password: 123456};

可选属性 ?

创建 IPerson 接口类型变量时,接口中声明的属性,变量赋值时也必须有,否则就会报错

但我们可以设置某个属性为可选属性,在创建变量时,就可以选择赋值

interface Point{  userName:string|number  password:number,  email?:string}let value:Point={  userName:'admin@qq.com',  password:123456}let val:Point={  userName:55555,  password:123456}

TypeScript数据类型的作用

只读属性readonly

interface Point{  userName:string|number  password:number,  email?:string,  readonly address:string}let value:Point={  userName:'admin@qq.com',  password:123456,  address:'保定'}let val:Point={  userName:55555,  password:123456,  address:'北京'}value.password=65975222value.address='kkk'

TypeScript数据类型的作用

函数

ts中函数可以定义返回值类型

const value=():number=>{  return 1}const val=():string=>{  return 1}

TypeScript数据类型的作用

TypeScript数据类型的作用

类型自推

在我们定义变量时没有赋予类型,则会按照值做推论

let value=5555value='string'

TypeScript数据类型的作用

联合类型(二选一甚至多选一)

let value:string|numbervalue='凉宸'value=520value=true

TypeScript数据类型的作用

类型断言:

function get(data:string|number):number{  const str=data as string  if(str.length){    return str.length  }else {    const num = data as number    return num.toString().length  }}console.log(get('凉宸'));console.log(get(520));

TypeScript数据类型的作用

  • 使用 as 进行断言

  • 断言不是类型转换,断言后只是告诉编译器变量的类型,后面使用变量时就有提示了

  • 如果不添加断言,使用某个类型的方式就会报错

type guard:

type guard不是一种类型,而是一种能够确认具体类型的一种机制

function get(data:string|number):number{  if(typeof data==='string'){    return data.length  }else {    return data.toString().length  }}console.log(get('凉宸'));console.log(get(520));

TypeScript数据类型的作用

class

class:类,es6语法,是js面向对象晋升,class 仅仅是语法糖,底层仍然是基于函数和原型实现的

  • 类:定义了一切事物抽象特点,像是一张蓝图、一张图纸

  • 对象:类的实例

  • 三大特征:封装、继承、多态

三个修饰符,可以控制类中成员的访问级别:

  • Public:修饰的属性或方法是公有的,任何地方都可以访问,默认行为

  • Protected:修饰的属性或者方法是受保护的,只有类本身和其子类可以访问

  • Private:修饰的属性或者方法是私有的,只有类内部可以访问呢

class  Person {  public name:string  protected age:number  private address:string  constructor(name:string,age:number,address:string){    this.name=name    this.age=age    this.address=address  }  speak(){    console.log(`Person:${this.name}---${this.age}---${this.address}`)  }}const Children = new Person('凉宸',20,'保定')Children.speak()// 可以正常输出

TypeScript数据类型的作用

class  Person {  public name:string  protected age:number  private address:string  constructor(name:string,age:number,address:string){    this.name=name    this.age=age    this.address=address  }  speak(){    console.log(`Person:${this.name}---${this.age}---${this.address}`)  }}class child extends Person{  say(){    console.log(`child:${this.name}---${this.age}`)  }}// const Children = new Person('凉宸',20,'保定')// Children.speak()const childs = new child('凉宸',20,'保定')childs.say()

TypeScript数据类型的作用

运行时也是报错的

TypeScript数据类型的作用

class  Person {  public name:string  protected age:number  private address:string  constructor(name:string,age:number,address:string){    this.name=name    this.age=age    this.address=address  }  speak(){    console.log(`Person:${this.name}---${this.age}---${this.address}`)  }}class child extends Person{  say(){    console.log(`child:${this.name}---${this.age}`)  }}// const Children = new Person('凉宸',20,'保定')// Children.speak()const childs = new child('凉宸',20,'保定')childs.say()

TypeScript数据类型的作用

class  Person {  public name:string  protected age:number  private address:string  constructor(name:string,age:number,address:string){    this.name=name    this.age=age    this.address=address  }  speak(){    console.log(`Person:${this.name}---${this.age}---${this.address}`)  }}class child extends Person{  say(){    console.log(`child:${this.name}---${this.age}`)  }}const Children = new Person('凉宸',20,'保定')Children.speak()console.log(Children.address);console.log(Children.age);// const childs = new child('凉宸',20,'保定')// childs.say()

TypeScript数据类型的作用

TypeScript数据类型的作用

TypeScript数据类型的作用

枚举

枚举(Enum)类型用于取值被限定在一定范围内的场景

enum Week {  SUNDAY = '周日',  MONDAY = '周一',  TUESDAY = '周二',  WEDNESDAY = '周三',  THURSDAY = '周四',  FRIDAY = '周五',  SATURDAY = '周六'}function getProgramme(date: Week): string {  if (date === Week.SUNDAY) {  return '周日休闲娱乐'  } else if (date === Week.MONDAY) {  return '周一做博文'  } else if (date === Week.TUESDAY) {  return '周二冲刺'  }  else if (date === Week.WEDNESDAY) {  return '周三继续奋斗'  }  else if (date === Week.THURSDAY) {  return '周四发新文'  }  else if (date === Week.FRIDAY) {  return '周五准备休息'  }  else {  return '周六睡觉'  }  }  console.log(getProgramme(Week.THURSDAY));

TypeScript数据类型的作用

“TypeScript数据类型的作用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: TypeScript数据类型的作用

本文链接: https://www.lsjlt.com/news/297458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • TypeScript数据类型的作用
    本篇内容介绍了“TypeScript数据类型的作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录基础类型any类型数组元组Interfa...
    99+
    2023-06-20
  • 一文了解TypeScript数据类型
    目录基础类型any类型数组元组Interface函数类型自推联合类型(二选一甚至多选一)class枚举基础类型 ts中支持更多的类型 let age: number = 10 /...
    99+
    2022-11-12
  • Typescript中的数据类型实例总结
    目录是什么有哪些booleannumberstringarraytupleenumanynull和undefinedvoidneverobject总结是什么 typescript和j...
    99+
    2022-11-13
  • Typescript中数据类型的示例分析
    这篇文章将为大家详细讲解有关Typescript中数据类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。是什么typescript和javascript几乎一样,拥有相同的数据类型,另外在jav...
    99+
    2023-06-29
  • TypeScript如何自定义数据类型
    这篇文章主要介绍“TypeScript如何自定义数据类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“TypeScript如何自定义数据类型”文章能帮助大家解决问题。TypeScript 类型系统和...
    99+
    2023-07-04
  • TypeScript 安装使用及基本数据类型
    第一步 全局安装TypeScript 使用 npm 安装 npm install -g typescript 使用cnpm 安装 cnpm install -g types...
    99+
    2022-11-11
  • TypeScript基本数据类型实例详解
    目录TypeScript 介绍类型分配类型推导数组元组objectnull 和 undefined特殊类型anyunknownnevervoidTypeScript 介绍 Type...
    99+
    2023-01-30
    TypeScript 基本数据类型 TypeScript 数据类型
  • TypeScript高级数据类型实例详解
    目录TypeScript 介绍函数枚举联合类型类型别名和接口类型别名接口交叉类型类TypeScript 介绍 TypeScript 是 JavaScript 的超集,提供了 Jav...
    99+
    2023-01-30
    TypeScript 高级数据类型 TypeScript 数据类型
  • TypeScript类型系统自定义数据类型教程示例
    目录TypeScript 类型系统和自定义数据类型什么是类型系统函数类型类型别名可选参数默认参数函数重载接口类型可选属性只读属性接口扩展多重接口声明接口的索引签名用接口描述函数类类型...
    99+
    2022-11-16
    TypeScript自定义数据类型 TypeScript类型系统
  • TypeScript中基本数据类型的示例分析
    这篇文章主要为大家展示了“TypeScript中基本数据类型的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“TypeScript中基本数据类型的示例分析...
    99+
    2022-10-19
  • typescript返回值类型和参数类型的具体使用
    目录返回值类型可缺省和可推断的返回值类型Generator 函数的返回值参数类型可选参数和默认参数剩余参数返回值类型 在 JavaScript 中,我们知道一个函数可以没有显式 re...
    99+
    2022-11-13
  • TypeScript的类型有哪些
    这篇文章主要介绍“TypeScript的类型有哪些”,在日常操作中,相信很多人在TypeScript的类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TypeScri...
    99+
    2022-10-19
  • TypeScript 的 extends 条件类型
    在TypeScript中,extends关键字不仅可以用于类的继承,还可以用于条件类型的定义。条件类型是一种在类型系统中进行条件判断...
    99+
    2023-09-21
    TypeScript
  • Python转换数据类型函数和转换数据类型的作用
    目录一、转换数据类型的作用(必要性)二、转换数据类型的函数三、快速体验数据类型转换前言: 学习Python的转换数据类型前期主要学习目标有两个,一是数据类型转换的必要性,二是数据类型...
    99+
    2022-11-13
  • Typescript中string类型怎么用
    这篇文章给大家分享的是有关Typescript中string类型怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。string字符串类型,和javascript一样,可以使用双...
    99+
    2022-10-19
  • Typescript中any类型怎么用
    小编给大家分享一下Typescript中any类型怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!any可以指定任何类型的值...
    99+
    2022-10-19
  • Typescript中enum类型怎么用
    小编给大家分享一下Typescript中enum类型怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!enumenum类型是对...
    99+
    2022-10-19
  • Typescript中tuple类型怎么用
    小编给大家分享一下Typescript中tuple类型怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tuple元组类型,允...
    99+
    2022-10-19
  • Typescript中object类型怎么用
    小编给大家分享一下Typescript中object类型怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!object对象类型...
    99+
    2022-10-19
  • Typescript中never类型怎么用
    这篇文章将为大家详细讲解有关Typescript中never类型怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。nevernever是其他类型(包括null和unde...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作