一、简介

通过 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内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

TypeScript 类class与修饰符的详细使用教程的更多相关文章

  1. Swift使用CoreData报错:CoreData: warning: Unable to load class named 'xxx' for entity 'xxx'.

  2. Swift语言中class、struct、enum的联系与区别

    相同点三者都可以拥有属性和方法都可以拥有函数class和struct可以拥有自己的构造器不同点类可以继承类可以内省和转型struct、enum为值类型,class为引用类型类方法用class关键词声明,enum、struct用static关键词用mutaing关键词声明要修改struct、enum内容的方法结构体适合基本数据类型

  3. 如何在swift中覆盖layerClass

    在Objective-C中,我们使用这样做显然这不会工作:因为类是Swift中的关键字。你如何在Swift中做它?改编自Apple的ListerKit示例代码:

  4. Java 中 Class Path 和 Package的使用详解

    这篇文章主要介绍了Java 中 Class Path和Package的使用详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

  5. 使用typescript类型实现ThreeSum

    这篇文章主要介绍了使用typescript类型实现ThreeSum,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以一下,希望对你学习又是帮助

  6.  typeScript入门基础介绍

    这篇文章主要介绍了 typeScript入门基础,TypeScript 是由微软开发的开源、跨平台的编程语言,是 javaScript 的超集,最终被编译为 javaScript代码。常常被简称为TS支持JS、ES语法,下文将继续其他基础介绍,需要的朋友可以参考一下

  7. typescript返回值类型和参数类型的具体使用

    本文主要介绍了typescript返回值类型和参数类型的具体使用文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. java封装及四种权限修饰符详解

    这篇文章主要介绍了java封装及四种权限修饰符详解,对属性进行封装,使用户不能直接输入数据,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值

  9. Vue3 携手 TypeScript 搭建完整项目结构

    TypeScript 是JS的一个超级,主要提供了类型系统和对ES6的支持,使用 TypeScript 可以增加代码的可读性和可维护性,在 react 和 vue 社区中也越来越多人开始使用TypeScript,这篇文章主要介绍了Vue3 携手 TypeScript 搭建完整项目结构,需要的朋友可以参考下

  10. 关于TypeScript开发的6六个实用小技巧分享

    TypeScript是Javascrip t超集,支持静态类型检测,可以在编译期提前暴露问题,节省debug时间,下面这篇文章主要给大家介绍了关于TypeScript开发的6六个实用小技巧,需要的朋友可以参考下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部