TypeScript为什么要有对象?怎样创建对象

news2024/11/22 6:10:52

什么是TypeScript的对象?

生活中,对象是一个具体的事物,比如:你的电脑、你的手机、古力娜扎、周杰伦(周董)等都是对象。 但在程序员的认知中万物皆对象。 这些具体的事物,都有自己的特征和行为:

特征:

你的电脑:尺寸、重量、价格等
你的手机:品牌、屏幕大小、颜色等
古力娜扎:年龄、身高、三围等

行为:

你的电脑:浏览网页、写代码等 
你的手机:播放视频、吃鸡等 
古力娜扎:演电影、配音等

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 = {}

此处的 {}(花括号、大括号)表示对象。而对象中没有属性或方法时,称为:空对象。 对象中的属性或方法,采用键值对的形式,键、值之间使用冒号(:)来配对,如下示例。

TS创建对象

键(key)名称 ,值(value)具体的数据。 多个键值对之间,通过逗号(,)来分隔(类比数组)。

现在对象person有两个属性:

let person = { name: '刘老师', age: 18 }

属性和方法的区别:值是不是函数,如果是,就称为方法;否则,就是普通属性。

let person= {
  sayHi: function () {
    console.log('大家好,我是一个方法')
  }
}

注意:函数用作方法时可以省略function后面的函数名称,也叫做匿名函数。

函数没有名称,如何调用? 此处的sayHi相当于函数名称,将来通过对象的sayHi就可以调用了。 如果一个函数是单独出现的,没有与对象关联,我们称为函数;否则,称为方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云his门诊业务模块常见问题分析和门诊业务使用流程

一、门诊医生如何查询往期病人 鼠标点击门诊医生站左侧患者列表,在弹出的页面点击已诊分页,在搜索框输入患者姓名,在结果中找到对应患者,点击详情按钮即可查询患者往期就诊信息,点击想要查询的门诊记录前方的方框即可…

[数据结构 -- C语言] 队列(Queue)

目录 1、队列 1.1 队列的概念及结构 2、队列的实现 2.1 接口 3、接口的实现 3.1 初始化队列 3.2 队尾入队列 分析: 3.3 队头出队列 分析: 3.4 获取队列头部元素 3.5 获取队列尾部元素 3.6 获取队列中有效元素个数 3.7 检测队列是否为空 3…

要想抢到演出票,总共分几步?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 小黑 编辑 / SandLiu 卷圈 监制 / 姝琦 文案 / 小黑 产品统筹 / bobo 录音支持 / 声湃轩天津录音间 报复性听歌正席卷多地,一路狂飙的演唱会市场背后,是一票难求、与黄牛斗智斗勇的粉丝们。 是…

GPT专业应用:自动撰写宣传稿

●图片由Lexica 生成,输入:Staff working on product promotion 宣传稿是指按照有关政策文件或相关精神,以宣传某种主张、某项工作、某件事情等为目的,为获得理解、支持而撰写的应用文。基本格式包含四个要素,分别是标…

chatgpt赋能Python-numpy如何下载

如何下载Numpy 对于python编程者,numpy是不可或缺的一个库。它提供了一种操作向量、矩阵、数组的方式,使得我们能够高效地进行数据处理和科学计算,甚至还能进行线性代数运算和傅里叶变换等高级操作。 那么,在这篇文章中&#xf…

第十七章 使用PXE+Kickstart无人值守安装服务

文章目录 第十七章 使用PXEKickstart无人值守安装服务一、无人值守系统1、无人值守安装系统的工作流程2、PXE介绍 二、部署相关服务程序1、临时关闭防火墙2、配置DHCP服务程序(1)、安装dhcp服务程序(2)、编辑配置文件(…

为什么需要代理ip

使用代理IP的情况不限于某一特定行业,因为在不同行业中都可能需要根据不同需求和目的来使用代理IP。以下是一些行业中常见需要使用代理IP的情形: 1、爬虫行业 对于需要爬取网站数据的用户,使用代理IP可以帮助隐藏真实IP地址及请求头信息&am…

Flowable 生成的表都是干嘛的?(二)

一.简介 Flowable 默认一共生成了 79 张数据表,了解这些数据表,有助于我们更好的理解 Flowable 中的各种 API。 接下来我们就对这 79 张表进行一个简单的分类整理。 ACT_APP_*(5)ACT_CMMN_*(12)ACT_CO_*…

Linux之后台终端

1、后台终端 当我们连接一个终端并执行一个程序时,关闭终端时程序也被终结。比如想在终端中执行一个web服务器,想一直后台运行,可以使用screen这个工具 2、screen工具 screen工具不是自带的所以需要sudo apt update && sudo apt i…

excel 甘特图制作(详细)

文章目录 前言excel 甘特图制作(详细)1. 模板字段确认2. 冻结至F列3. 在第二行确认状态颜色4. 设置开始日期5. 先将第3行居中,然后状态那列设置下拉6. 填充任务7. 开启日期与结束日期设置单元格式为日期8. 填充任务9. 制作日期10. 制作日期交互11. 修改开始时间范围…

数说故事与华为云签署全面合作协议,共同升级数字世界营销新体验

5月16日,由广东省工业和信息化厅、广州市人民政府联合指导,华为主办的2023华为云城市峰会首站登录广州。为贯彻落实广东省高质量发展大会的工作要求,响应《广东省制造业高质量发展“十四五”规划》, 本次大会围绕“在工业 为工业”主题并邀请…

普通表转分区表

当一张表数据过大时,可以进行垂直拆分(每张表存储部分字段)和水平拆分(每张表字段完整,数据只存储一部分) 这里记录的是水平拆分 首先对数据进行备份 create table 备份表名 as (select * from 原表名);…

Vue 3 第二十章:组件八(组件高级特性-组件的全局注册和局部注册)

文章目录 1. 全局注册组件2. 局部注册组件 Vue3 允许我们在全局注册组件,这使得我们可以构建更加灵活和可扩展的应用程序。同时,局部注册可以帮助我们更好地组织代码并提高应用程序的性能。 1. 全局注册组件 通过 app.component 方法可以在 Vue3 中创建…

钓鱼对抗之 Coremail安全拦截

作者简介: 胡晓磊,男,山东省城市商业银行合作联盟有限公司邮箱管理员,Coremail管理员社区特邀大咖 钓鱼邮件,是一种常见的网络诈骗手段。一般目的是用来欺骗收件人,将账号、口令或密码等信息回复给指定的接…

(数字图像处理MATLAB+Python)第八章图像复原-第五、六节:盲去卷积复原和几何失真校正

文章目录 一:盲去卷积复原(1)概述(2)程序 二:几何失真校正(1)概述(2)程序 一:盲去卷积复原 (1)概述 盲去卷积复原&#…

Java中的ORM框架有哪些,Hibernate 使用讲解

简介 在Java开发中,使用ORM框架是一种常见的开发方式。ORM(Object-Relational Mapping)框架是一种将对象模型和关系模型进行映射的技术,它使得Java开发人员可以使用面向对象的方式来操作关系型数据库,而无需直接使用S…

拍卖行搜索包分析

《天涯明月刀》的明文包内容大多比较简单,不过也有个别封包的结构较大,分析起来较为复杂,以拍卖行的搜索函数为例。 首先通过send返回到明文包的位置(如图) 这个封包的大小为0x56,随意搜索一个物品的名字使游戏断下(如图) 在这…

Vue 3 脚手架搭建

Vue 3 脚手架搭建 一、环境准备1.1 node.js 安装1.2 包管理工具安装:可选 二、创建项目2.1 使用 npm2.2 使用 yarn 三、配置项目3.1 安装初始依赖3.2 增加依赖3.2 配置自动导包3.3 配置 eslint 规则3.4 .vue 文件导入报错解决 四、路由配置4.1 路由类型定义4.2 inde…

加密解密软件VMProtect入门使用教程(八)控制台版本

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

【C++初阶】模板

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C初阶 ⭐代码仓库:C初阶 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我…