当前位置: 首页 > news >正文

三(五)ts非基础类型(对象)

在ts里面定义对象的方式也有很多。

普通定义

let obj1:{} = {}
// obj1.name = 'fufu'  报错,只能定义为空对象且不能修改
// 但是可以在赋初始值的时候直接添加属性,这是ts在类型推断时,它会宽容地匹配对象的结构。
let obj2:{} = {name: 'fufu'}
// obj2.name = 'dandan'  依旧报错,不能修改
let obj3:{name: string} = {name: 'fufu'}
obj3.name = 'dandan'
// obj2.age =20  报错,只能修改定义的属性let obj4:object = {}
// obj4.name = 'fufu' 报错,只能定义为空对象且不能修改
// 但是可以在赋初始值的时候直接添加属性,这是ts在类型推断时,它会宽容地匹配对象的结构。
let obj5:object = {name: 'fufu'}
// obj5.name = 'dandan'  依旧报错,不能修改
let obj6:object = {name: 'fufu'}

接口定义

定义对象最常用的方式还是使用接口

interface User {name: string,age: number
}let personL: User = {name: 'fufu', age: 20}

定义数组对象

interface Tree {children: {[index: number]: any}
}let treeList: Tree = { children: [{ name: 'fufu' }] }
http://www.lryc.cn/news/258129.html

相关文章:

  • HeartBeat监控Redis状态
  • FairGuard无缝兼容小米澎湃OS、ColorOS 14 、鸿蒙4!
  • 【Copilot】Edge浏览器的copilot消失了怎么办
  • C++入门【6-C++ 修饰符类型】
  • STP笔记总结
  • Qt开发 之 记一次安装 Qt5.12.12 安卓环境的失败案例
  • 基于SpringBoot的就业信息管理系统设计与实现(源码+数据库+文档)
  • Java面试整理(四)Java IO流
  • 《安富莱嵌入式周报》第328期:自主微型机器人,火星探测器发射前失误故障分析,微软推出12周24期免费AI课程,炫酷3D LED点阵设计,MDK5.39发布
  • 产品经理在项目周期中扮演的角色Axure的安装与基本使用
  • Dockerfile创建镜像介绍
  • Android 滥用 SharedPreference 导致 ANR 问题
  • 虚幻商城 道具汇总
  • docker: Error response from daemon: failed to create shim task: OCI runtime
  • SpringBoot+线程池实现高频调用http接口并多线程解析json数据
  • java实现局域网内视频投屏播放(一)背景/需求
  • 【Spring】手写一个简易starter
  • Spring Cloud Alibaba实践 --Sentinel
  • 使用Mockjs模拟(假数据)接口(axios)
  • 【面试常考题目】五种方法解决“如何在n个无序数组中找出它的中位数(java)”问题
  • 打包CSS
  • Java项目开发,业务比较复杂如何减少bug
  • [EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
  • map.getOrDefault
  • vue3移动端脚手架(纯净,集成丰富)
  • HarmonyOS应用开发-手写板
  • Python中的logging介绍
  • ClickHouse(17)ClickHouse集成JDBC表引擎详细解析
  • 利用CRM系统分析客户行为:精细掌握市场动态
  • 15Linux、GIT及相关相似面试题、PostMan