ts中的强制类型转换

简介: ts中的强制类型转换

先看一个例子:

type T = {
  title: string
}
type U = {
  color: string
}
let result = <T&U>{}

result.title = '北京'
result.color = 'red'

如果我们写了一个空对象,需要给这个对象添加属性,这个时候是会报错的:

let result = {}
// 报错:提示不存的属性
result.title = '北京'

这个时候我们需要进行强制类型转换:

type T = {
  title: string
}
let result = <T>{}
// 不会报错了
result.title = '北京'

你也可以进行类型断言

type T = {
  title: string
}
let result = {};

(result as T).title = '北京'

注意写法有很多种

type T = {
  title: string
}
type U = {
  color: string
}
let result = {} as T;

result.title = '北京'
相关文章
|
前端开发 Java 调度
springboot整合SSE技术开发经验总结及心得
springboot整合SSE技术开发经验总结及心得
2379 0
|
资源调度 JavaScript 编译器
Vite中如何更好的使用TS
【8月更文挑战第4天】Vite中如何更好的使用TS
715 4
Vite中如何更好的使用TS
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
163176 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
7380 126
|
安全 编译器 Go
【Golang】如何声明弃用(Deprecated)
【Golang】如何声明弃用(Deprecated)
2318 5
|
11月前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
2519 3
|
编解码 前端开发 UED
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
764 0
|
存储 缓存 API
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
1049 0
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
SQL 前端开发 关系型数据库
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
18059 6