TypeScript 类class与修饰符的详细使用教程

 更新时间:2022年06月15日 15:36:46   作者:卡尔特斯  
通过 class 关键字定义一个类,然后通过 new 关键字可以方便的生产一个类的实例对象,这个生产对象的过程叫 实例化,类的成员就是类中所有的属性和方法,这篇文章主要介绍了TypeScript 类class与修饰符的详细使用,需要的朋友可以参考下

一、简介

通过 class 关键字定义一个类,然后通过 new 关键字可以方便的生产一个类的实例对象,这个生产对象的过程叫 实例化,类的成员就是类中所有的属性和方法。

// 定义类
class Person {
  // 名称
  name: string
  // 年龄
  age: number
  // 构造函数
  constructor(name: string, age: number) {
    // 更新熟悉数据
    this.name = name
    this.age = age
  }
}
// 发送一个人的信息
function sendPerson (person: Person) {
  console.log(`姓名:${person.name},年龄:${person.age}`)
}
// 实例化对象
const p = new Person('dzm', 20)
sendPerson(p) // 名称:dzm,年龄:20

实例在new出来的时候,它实际是调用了类中的一个方法进行初始化,这个方法被叫做构造器,一般都会在类中显示地写上 constructor 方法,如果没有显示定义的 constructor,就会调用系统自带的 constructor 构造函数。

二、成员修饰符

访问修饰符的作用就是用于限制别人乱用类中的东西

访问修饰符

  • public:公开的,谁都能用(默认就是 public
  • private:私有的,仅类自己能使用,子类与外部都不能使用
  • protected:受保护的,仅类和类的子类能使用,外部不能使用
// 定义类
class Person {
  // 公开参数
  name: string
  // 公开参数
  public age: number
  // 私有参数
  private num:number = 10
  // 内部参数
  protected num1: number = 20
  // 构造函数
  constructor(name: string, age: number) {
    // 更新熟悉数据
    this.name = name
    this.age = age
  }
  // 发送个人信息
  public send() {
    console.log('发送成功1')
  }
  // 私有方法
  private post() {
    console.log('发送成功2')
  }
}

只读修饰符

readonly:只能读不能写

class Person {
  // 声明赋值
  readonly name = 'dzm'
}
let p = new Person()
console.log(p.name)
// 不能赋值
// p.name = 'xxx'

readonly 只能在 constructor 构造方法初始化时赋值,或者声明时赋值,之后都不能在修改值。

class Person{
  readonly name: string
  // 构造初始化赋值
  constructor(name: string) {
    this.name =  name
  }
}

静态修饰符

static:静态成员无需实例化,直接通过类名调用

// 定义类
class Person {
  // 公开参数
  name: string
  // 公开参数
  public age: number
  // 静态参数
  static num:number = 10
  // 构造函数
  constructor(name: string, age: number) {
    // 更新熟悉数据
    this.name = name
    this.age = age
  }
  // 发送个人信息
  static send() {
    console.log('发送成功')
  }
}
// 不需要实例化对象,通过类名就能进行访问
console.log(Person.num)
Person.send()

总结

1、上面总共分为三种类型修饰符:访问修饰符只读修饰符静态修饰符

2、修饰符是可选的,在没有写任何修饰符的情况下,默认为 public

3、同类型修饰符只能有一个,也就是上面 三种修饰符 可以组合起来修饰一个成员。

4、三种类型修饰符有先后顺序,分别是:访问静态只读,即:public/static/protectedstaticreadonly

到此这篇关于TypeScript 类class与修饰符的详细使用的文章就介绍到这了,更多相关TypeScript 类class内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript 中使用Promise.all()方法经验技巧详解

    JavaScript 中使用Promise.all()方法经验技巧详解

    这篇文章主要为大家介绍了JavaScript 中使用Promise.all()方法经验技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • TopList标签和JavaScript结合两例

    TopList标签和JavaScript结合两例

    TopList标签和JavaScript结合两例...
    2007-08-08
  • 原生javascript实现文件异步上传的实例讲解

    原生javascript实现文件异步上传的实例讲解

    下面小编就为大家带来一篇原生javascript实现文件异步上传的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Storage、cookie的用途和优缺点比较

    Storage、cookie的用途和优缺点比较

    cookie的大小是受限制的,并且每次请求cookie都会被发送,浪费宽带,cookie还需要指定作用域,不可以跨域调用。cookie的作用是与服务器进行交互,作为http规范的一部分存在,而webstorage仅仅是为了本地“存储”数据而生。
    2023-07-07
  • JS Date时间格式化的方法

    JS Date时间格式化的方法

    这篇文章主要介绍了JS Date时间格式化的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • javascript 变量声明 var,let,const 的区别

    javascript 变量声明 var,let,const 的区别

    这篇文章主要介绍了javascript 变量声明 var,let,const 的区别,变量声明,每种编程语言必不可少的语法,在javascript中,变量的声明相对其他语言来说,算是比较简单的。更多相关的具体内容需要的小伙伴可以参考一下
    2022-06-06
  • js中的WebSocket使用及说明

    js中的WebSocket使用及说明

    这篇文章主要介绍了js中的WebSocket使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 一文详解GoJs中go.Panel的itemArray属性

    一文详解GoJs中go.Panel的itemArray属性

    这篇文章主要为大家介绍了一文详解GoJs中go.Panel的itemArray属性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • JS手写bind之处理new的情况详解

    JS手写bind之处理new的情况详解

    虽然很少会遇到给bind返回的函数做new操作的场景,但面试中还是会涉及到的,所以本文将实现一下兼容new操作的bind写法,顺便学习一下new操作符,需要的可以参考一下
    2022-07-07
  • JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染

    JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染

    块级作用域: 大多数使用c语言语法的语言都有块级作用域,而JavaScript没有块级作用域。
    2010-11-11

最新评论