TS之类的属性和方法
文章目录
- 声明
- 属性
- 属性分类
- 实例属性
- 类属性
- 只读属性
- 属性修饰符
- getter与setter
- 方法
- static(静态方法)
- 实例方法
声明
我们用关键字class来声明一个类
class Person{...
}
属性
在TS中类的属性一共有三种,在属性面前添加相应的修饰符便可
属性分类
class Person{name:string = "zhubajie" // 实例属性static age = 89 // 类属性readonly addr:string = "高老庄" // 只读属性
}
实例属性
- 直接定义的属性属于实例属性
- 他必须通过类实例化之后才能使用
类属性
- 以static开头的属性为类属性
- 他可以通过类直接访问
Person.age
只读属性
- 以
readonly
定义的属性为只读属性,不可修改
属性修饰符
- pubilc 公共属性,可以再任意位置访问和修改(实例属性,实例化之后访问)
- private 私有属性,只能在类的内部进行访问和修改(一般声明的时候我们会以
_
开头) - 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之类的属性和方法相关推荐
- vue3-video-play视频组件的使用(一)——基本使用 HTML5中Video标签的属性、方法和事件汇总
vue3-video-play视频组件的使用(一)--基本使用 & HTML5中Video标签的属性.方法和事件汇总 npm地址:https://www.npmjs.com/package/v ...
- ts不同类型对象对应方法
Number 方法toExponential()把对象的值转换为指数计数法.toFixed()把数字转换为字符串,并对小数点指定位数.toLocaleString()把数字转换为字符串,使用本地数字格 ...
- adodb.RecordSet的属性和方法
为了更精确地跟踪数据,要用RecordSet组件创建包括数据的游标,游标就是储存在内存中的数据: rs = Server.CreateObject("ADODB.RecordSet" ...
- php 静态类内存,php面向对象中static静态属性与方法的内存位置分析
本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 header(&q ...
- 面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维
1 面向对象 1.1 你是如何认识新事物的? 从过往的事物中总结事物的特点(特征),并比对新事物,把新事物进行归类. 1.2 类(Class)的概念(A) 类是对一组具有相同特征和行为的对象的抽象描述 ...
- Python内部类,内部类调用外部类属性,方法
一 Python中内部类 典型定义: class MyOuter:age=18def __init__(self,name):self.name=nameclass MyInner:def __ini ...
- 《C#精彩实例教程》小组阅读10 -- C#属性与方法
本微信图文详细介绍了C#的属性与方法.
- selenium提取数据之driver对象的常用属性和方法
selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...
- 尚硅谷学习笔记-节点的常用属性和方法
节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...
最新文章
- 【资源共享】RK3288 WiFiBT 开发配置参考说明
- 一张图看懂项目管理的47个过程
- java.lang.StackOverflowError 解决方法
- Jenkins(1)
- 阿里云搭建git mac客户端 2个git账号
- SSH 中从后台传值到前台JSP,传不过去问题
- iOS开发之Masonry框架-使用方法须知
- poj 3009 Curling 2.0 (dfs的应用)
- IntelliJ IDEA 配置JDK
- 2015年 4月2号的日志
- Go 类型转换、类型断言与类型选择
- html保存按钮代码_如何防止Joomla编辑器删除HTML代码
- python学习笔记26(python中__name__的使用)
- v8声卡调音软件_V8声卡的福音! V8声卡用什么机架VST插件声卡调试?
- 联想笔记本linux无线网卡驱动下载,联想无线网卡驱动下载-联想 X1 Carbon网卡驱动下载v18.40.0 官方最新版-西西软件下载...
- SQL Server 2012 下载与安装详细教程
- NBU备份Vmware
- Word标题序号变成黑块
- Linux文件其他操作
- 梁宁:增长思维30讲脑图笔记
热门文章
- QQ在线代码,MSN在线代码,雅虎通在线代码,阿里旺旺在线代码
- 必收藏宝典:2023纽约通票价格景点大比拼!
- A2DP和AVRCP 播放音视频
- 谢家华在德州扑克学到​的商场成功之道
- 怎么用python制作随机点名软件_python写一个随机点名软件的实例
- unity vr手柄移动_移动内外VR跟踪,现在可通过Unity在手机上轻松使用
- 联想m415节能产品认证证书_节能认证
- python数据分析与应用课后实训_python数据分析与应用
- CUMT学习日记——计算机操作系统之面向考题复习
- text、html、val、attr(Jquery取值方法)