news 2026/3/28 1:47:55

TypeScript开发基础(11)——面向对象之对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TypeScript开发基础(11)——面向对象之对象

TypeScript对象可以被视为包含一组键值对的实例。

TypeScript映射实体时,一般将:

(1) 实体的特征、状态转为属性。

(2) 行为、功能转为函数。

TypeScript创建对象的方法一般有以下几种:

(1) 字面方式创建对象,在定义结构的同时创建对象

(2)直接创建匿名对象

(3)使用接口定义结构并创建对象

(4)用类的构造方法创建对象

1. 使用对象字面量直接创建对象

const person={ name:'张三', age:18, birthday:'2003-10-18', hobbies:['篮球','足球'], sayHello:function(){ console.log(`hello,${this.name}`); }, printfInfo:function(){ console.log(`姓名:${this.name},年龄:${this.age}`); console.log(`爱好:${this.hobbies}`); console.log(`生日:${this.birthday}`); } } console.log(person.sayHello()); console.log(person.printfInfo());

2. 直接创建匿名对象

function greet(person: { name: string; age: number }) { return "Hello " + person.name; } console.log(greet({ name: "Bob", age: 25 }));

3. 使用接口定义结构并创建对象

通过 interface 关键字,我们可以给对象类型命名,使其可以在多个地方复用。

interface Person { name: string; age: number; hobbies: string[]; } const person: Person = { name: "Alice", age: 30, hobbies: ["reading", "swimming"] }; console.log(person.hobbies);

4. 用类的构造方法创建对象

class Person { name: string; age: number; hobbies: string[]; constructor(name: string, age: number) { this.name = name; this.age = age; this.hobbies = []; } sayHello() { console.log(`hello,${this.name}`); } printfInfo() { console.log(`姓名:${this.name},年龄:${this.age}`); console.log(`爱好:${this.hobbies}`); } addHobby(hobby: string) { this.hobbies.push(hobby); } } const person1 = new Person("张三", 18); person1.addHobby('篮球'); person1.addHobby('足球'); person1.printfInfo();
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 8:03:43

5个核心概念助你理解YashanDB数据库的架构

随着数据量的急剧增加和业务需求的多样化,数据库架构的复杂性也随之提升。尤其是在面临性能瓶颈和数据一致性问题时,深入理解数据库的架构显得尤为重要。YashanDB作为一种新兴数据库解决方案,因其灵活的部署架构和高效的存储方式而备受关注。…

作者头像 李华
网站建设 2026/3/23 9:06:13

基于ISO 27001的数据安全选型:构建企业信息安全管理体系

一、ISO 27001 核心诉求:数据安全选型的 “合规锚点”ISO 27001(信息安全管理体系)的核心是 “风险导向 全生命周期管控”,其 11 个控制域(如访问控制、资产管理、数据备份、合规性)直接定义了数据安全选型…

作者头像 李华
网站建设 2026/3/23 4:26:37

假如你从2026年开始学AI大模型要多久学会?

无论是想转行 AI 的职场人、学生党,还是想深耕技术的爱好者,跟着这套流程走,从数学小白到能独立调参、做项目,成就感拉满~ 📚 第一阶段:基础打底期(1-3 个月) 核心目标…

作者头像 李华
网站建设 2026/3/23 20:07:36

行业智能体变现指南-专业领域服务

一、背景提要 文心智能体平台当前面向具备资质认证/KOL身份的专家和企业开发者搭建的行业领域智能体 提供专属增益权益及服务,以帮助其更好地提供优质、权威内容和给用户的服务供给,打造个人/机构影响力和经营力,带来更多流量和转化。 服务…

作者头像 李华
网站建设 2026/3/24 16:58:32

沉思功能真的没了?,智谱清言用户必看的AutoGLM现状全解读

第一章:智谱清言的Open-AutoGLM沉思功能还有吗近期,不少开发者关注到智谱清言平台中曾广受好评的 Open-AutoGLM “沉思”功能是否仍然可用。该功能原本用于在复杂推理任务中模拟多步思维链(Chain-of-Thought),通过逐步…

作者头像 李华
网站建设 2026/3/25 4:57:09

【AutoGLM性能提升10倍的秘密】:基于GitHub源码的5大优化技巧

第一章:AutoGLM性能飞跃的背景与意义 随着大模型在自然语言处理、代码生成和多模态任务中的广泛应用,推理效率与部署成本成为制约其落地的关键因素。AutoGLM作为基于GLM架构优化的自动化生成模型,在保持强大语义理解能力的同时,实…

作者头像 李华