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技术开发经验总结及心得
2618 0
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
164386 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
JavaScript 开发者 索引
【亮剑】探讨了在TypeScript中为对象动态添加属性的三种方式
【4月更文挑战第30天】本文探讨了在TypeScript中为对象动态添加属性的三种方式:1) 使用索引签名允许添加任意属性,如`[key: string]: any`;2) 通过接口和类型别名提供编译时类型检查,例如`interface Person { name: string; age: number; }`;3) 利用类创建具有属性的对象,如`class Person { name: string; age: number; }`。每种方法有其适用场景,开发者可根据需求选择。
1330 0
|
安全 编译器 Go
【Golang】如何声明弃用(Deprecated)
【Golang】如何声明弃用(Deprecated)
2478 5
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
2685 3
|
存储 JavaScript 安全
vue项目打包优化:缩小体积productionSourceMap设置,使用cdn加速
vue项目打包优化:缩小体积productionSourceMap设置,使用cdn加速
1317 0
|
安全 关系型数据库 MySQL
CentOS 8 中安装与配置 MySQL
CentOS 8 中安装与配置 MySQL
1500 3
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
存储 JavaScript API
TypeScript 中类型转换的终极指南:从零到深入
TypeScript 中类型转换的终极指南:从零到深入
570 0
|
SQL 前端开发 关系型数据库
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
19896 6