文章目录

  • 声明
  • 属性
    • 属性分类
      • 实例属性
      • 类属性
      • 只读属性
    • 属性修饰符
    • getter与setter
  • 方法
    • static(静态方法)
    • 实例方法

声明

我们用关键字class来声明一个类

class Person{...
}

属性

在TS中类的属性一共有三种,在属性面前添加相应的修饰符便可

属性分类

class Person{name:string = "zhubajie" // 实例属性static age = 89 // 类属性readonly addr:string = "高老庄" // 只读属性
}

实例属性

  • 直接定义的属性属于实例属性
  • 他必须通过类实例化之后才能使用

类属性

  • 以static开头的属性为类属性
  • 他可以通过类直接访问 Person.age

只读属性

  • readonly定义的属性为只读属性,不可修改

属性修饰符

  1. pubilc 公共属性,可以再任意位置访问和修改(实例属性,实例化之后访问)
  2. private 私有属性,只能在类的内部进行访问和修改(一般声明的时候我们会以_开头)
  3. protected 受保护的属性,只能在当前类和当前类的子类中进行访问
class Person{public name = "SunWuKong"private age = 30protected sex = "male"
}const person = new Person()
console.log(person.name)
console.log(person.age) // 错误 只能在Person这个类中进行访问
console.log(person.sex)  // 错误 只能在Person这个类和其子类中访问

此外,还有readOnly属性,以他修饰的属性只能读取不能修改

getter与setter

类中的每一个属性内置getter方法和setter方法

  • getter方法用于获取属性
  • setter 方法用于设置属性

这样,我们可以对属性读取和操作做一些拦截,设置如下

class Person1{private _name:stringconstructor(name:string){this._name = name;}set name(value:string){this._name = value}get name(){return this._name}
}
  • 当我们进行读取的时候,其实是走的get这个逻辑
  • 当我们对于属性进行赋值的时候,其实是搜的set 这个逻辑

方法

static(静态方法)

经过static关键字修饰的方法属于类方法,可以通过类直接使用

class BaJie{name = "BaJie"static age = 18static sayName(){console.log("八戒")}
}// 通过类直接访问
BaJie.sayName()
console.log(BaJie.age);const bajie = new BaJie()
bajie.sayName() // 实例化之后不可访问

当有不规范的语法的时候,ts就不会进行编译,如上面的编译如下

var BaJie = /** @class */ (function () {function BaJie() {this.name = "BaJie";}BaJie.sayName = function () {console.log("八戒");};BaJie.age = 18;return BaJie;
}());
// 通过类直接访问
BaJie.sayName();
console.log(BaJie.age);

实例方法

  • 在类中直接定义的方法为实例方法,没有任何关键字的修饰
  • 这种方法只能在类实例化之后进行使用
class BaJie{name = "BaJie"age = 18sayName(){console.log("八戒")}
}// 通过类直接访问
BaJie.sayName() // 错误的访问方法
console.log(BaJie.age); // 错误的访问方法
// 同样,实例化之后也是可以访问的
const bajie = new BaJie()
bajie.sayName()
console.log(bajie.name);

菜鸟教程

TS之类的属性和方法相关推荐

  1. vue3-video-play视频组件的使用(一)——基本使用 HTML5中Video标签的属性、方法和事件汇总

    vue3-video-play视频组件的使用(一)--基本使用 & HTML5中Video标签的属性.方法和事件汇总 npm地址:https://www.npmjs.com/package/v ...

  2. ts不同类型对象对应方法

    Number 方法toExponential()把对象的值转换为指数计数法.toFixed()把数字转换为字符串,并对小数点指定位数.toLocaleString()把数字转换为字符串,使用本地数字格 ...

  3. adodb.RecordSet的属性和方法

    为了更精确地跟踪数据,要用RecordSet组件创建包括数据的游标,游标就是储存在内存中的数据: rs = Server.CreateObject("ADODB.RecordSet" ...

  4. php 静态类内存,php面向对象中static静态属性与方法的内存位置分析

    本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 header(&q ...

  5. 面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维

    1 面向对象 1.1 你是如何认识新事物的? 从过往的事物中总结事物的特点(特征),并比对新事物,把新事物进行归类. 1.2 类(Class)的概念(A) 类是对一组具有相同特征和行为的对象的抽象描述 ...

  6. Python内部类,内部类调用外部类属性,方法

    一 Python中内部类 典型定义: class MyOuter:age=18def __init__(self,name):self.name=nameclass MyInner:def __ini ...

  7. 《C#精彩实例教程》小组阅读10 -- C#属性与方法

    本微信图文详细介绍了C#的属性与方法.

  8. selenium提取数据之driver对象的常用属性和方法

    selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...

  9. 尚硅谷学习笔记-节点的常用属性和方法

    节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...

最新文章

  1. 【资源共享】RK3288 WiFiBT 开发配置参考说明
  2. 一张图看懂项目管理的47个过程
  3. java.lang.StackOverflowError 解决方法
  4. Jenkins(1)
  5. 阿里云搭建git mac客户端 2个git账号
  6. SSH 中从后台传值到前台JSP,传不过去问题
  7. iOS开发之Masonry框架-使用方法须知
  8. poj 3009 Curling 2.0 (dfs的应用)
  9. IntelliJ IDEA 配置JDK
  10. 2015年 4月2号的日志
  11. Go 类型转换、类型断言与类型选择
  12. html保存按钮代码_如何防止Joomla编辑器删除HTML代码
  13. python学习笔记26(python中__name__的使用)
  14. v8声卡调音软件_V8声卡的福音! V8声卡用什么机架VST插件声卡调试?
  15. 联想笔记本linux无线网卡驱动下载,联想无线网卡驱动下载-联想 X1 Carbon网卡驱动下载v18.40.0 官方最新版-西西软件下载...
  16. SQL Server 2012 下载与安装详细教程
  17. NBU备份Vmware
  18. Word标题序号变成黑块
  19. Linux文件其他操作
  20. 梁宁:增长思维30讲脑图笔记

热门文章

  1. QQ在线代码,MSN在线代码,雅虎通在线代码,阿里旺旺在线代码
  2. 必收藏宝典:2023纽约通票价格景点大比拼!
  3. A2DP和AVRCP 播放音视频
  4. 谢家华在德州扑克学到​的商场成功之道
  5. 怎么用python制作随机点名软件_python写一个随机点名软件的实例
  6. unity vr手柄移动_移动内外VR跟踪,现在可通过Unity在手机上轻松使用
  7. 联想m415节能产品认证证书_节能认证
  8. python数据分析与应用课后实训_python数据分析与应用
  9. CUMT学习日记——计算机操作系统之面向考题复习
  10. text、html、val、attr(Jquery取值方法)