javascript - typescript 对象奇怪的类型语法

标签 javascript object syntax typescript

阅读时TypeScript handbook ,我遇到了以下示例:

interface Shape {
    color: string;
}

interface Square extends Shape {
    sideLength: number;
}

var square = <Square>{};
square.color = "blue";
square.sideLength = 10;

问题是 - <Square>{} 到底是什么? ?对我来说似乎是一种奇怪的语法。从 Java/C# 的 Angular 来看,它就像一个匿名对象的泛型。它到底是什么,这种创作的局限性是什么?

最佳答案

这是“类型转换”。基本上将以下内容({},一个没有字段的对象字面量)解释为 Square。因此,由于 square 的使用,TypeScript 编译器会将其推断为 Square 类型,并且 Intellisense 将显示正确的成员。

当然这不是真正的“转换”,因为我们知道类型只是 TypeScript 中的一种幻觉。这一切都是为了编译器。

关于javascript - typescript 对象奇怪的类型语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35212649/

相关文章:

javascript - 将一个巨大的 json 文件分成单独的文件

javascript - 如何在 Xcode (Objective-c) 上连接 URL 中的字符串?

java - 这个通用函数的作用是什么?

c# - 自定义对象加法/减法

javascript - jQuery:将变量传递给 :eq() 不起作用

javascript - $http post在谷歌浏览器上返回400

javascript - 从 jquery .data 对象检索一个属性

javascript - 嵌套映射函数返回以索引作为键值的对象数组?

java - 将参数传递给对象数组

Mysql语法似乎正确