生活中,对象是一个具体的事物,比如:你的电脑、你的手机、古力娜扎、周杰伦(周董)等都是对象。 但在程序员的认知中万物皆对象。 这些具体的事物,都有自己的特征和行为:
特征:
你的电脑:尺寸、重量、价格等
你的手机:品牌、屏幕大小、颜色等
古力娜扎:年龄、身高、三围等
行为:
你的电脑:浏览网页、写代码等
你的手机:播放视频、吃鸡等
古力娜扎:演电影、配音等
TypeScript 中的对象,是对生活中具体事物的抽象,使得我们可以通过代码来描述具体的事物。 TS 中的对象,也是由特征和行为组成的,它们有各自专业的名称:属性(特征)和方法(行为)。TS 中的对象是一组相关属性和方法的集合,并且是无序的。
// 演示对象:
{
name: '周杰伦',
gender: '男',
height: 175,
sing: funtion () {
console.log('故事的小黄花 从出生那年就飘着')
}
}为什么要有对象?我们将这个问题带入到
方案一:使用多个变量
let name: string = '周杰伦'
let gender: string = '男'
let height: number = 175
function sing() { ... }
但上述代码中有明显的缺点:一个变量只能存储一个数据,多个变量之间没有任何关联(相关性)。
方案二:使用数组,一次可以存储多个数据
['周杰伦', '男', 175, function sing() { ... }]
缺点:不知道数组中的每个元素表示什么。
使用对象,就可以清晰描述对象事物间的相互关系(一组相关数据时),结构更加清晰、明了。
{ name: '周杰伦', gender: '男', height: 175, sing: function () { ... }}
在 TS 中,如果要描述一个事物或一组相关数据,就可以使用对象来实现。
创建对象创建对象的语法格式如下:
let person = {}
此处的 {}(花括号、大括号)表示对象。而对象中没有属性或方法时,称为:空对象。 对象中的属性或方法,采用键值对的形式,键、值之间使用冒号(:)来配对,如下示例。
键(key)名称 ,值(value)具体的数据。 多个键值对之间,通过逗号(,)来分隔(类比数组)。
现在对象person有两个属性:
let person = { name: '刘老师', age: 18 }
属性和方法的区别:值是不是函数,如果是,就称为方法;否则,就是普通属性。
let person= {
sayHi: function () {
console.log('大家好,我是一个方法')
}
}
注意:函数用作方法时可以省略function后面的函数名称,也叫做匿名函数。
函数没有名称,如何调用? 此处的sayHi相当于函数名称,将来通过对象的sayHi就可以调用了。 如果一个函数是单独出现的,没有与对象关联,我们称为函数;否则,称为方法。