Typescript 为什么不可能在类型定义中使用var?

Typescript 为什么不可能在类型定义中使用var?,typescript,Typescript,为什么不能使用var作为类型?难道不可能吗?myVar是一个常量,不能将变量键入常量,可以指定变量的类型与常量的类型相同: type myType = 'A'; const myVar = 'A'; let a: 'A'; // OK let b: myType; // OK let c: myVar; // ERROR : cannot find name 'myVar' 注意,由于常数为“A”,上述声明与 let c: typeof myVar; 因此,唯一可分配的值tpc是常量值“A

为什么不能使用var作为类型?难道不可能吗?

myVar
是一个常量,不能将变量键入常量,可以指定变量的类型与常量的类型相同:

type myType = 'A';
const myVar = 'A';

let a: 'A'; // OK
let b: myType; // OK
let c: myVar; // ERROR : cannot find name 'myVar'
注意,由于常数为“A”,上述声明与

let c: typeof myVar;

因此,唯一可分配的值tp
c
是常量值
“A”
myVar
是常量,您不能将变量键入常量,您可以指定变量具有与常量相同的类型:

type myType = 'A';
const myVar = 'A';

let a: 'A'; // OK
let b: myType; // OK
let c: myVar; // ERROR : cannot find name 'myVar'
注意,由于常数为“A”,上述声明与

let c: typeof myVar;

因此,唯一可分配的值tp
c
是常量值
“A”

在TypeScript中删除变量有4种方法

var、let、const和Type(类型将是自定义数据类型)

let&var
非常相似,而
const
阻止重新分配变量。您可以找到var和let之间的差异

const
是常量,它在TypeScript中的行为与C#相同。在C#中,我们也不能将常量用作类型


主要回答您的问题-myVar是一个变量而不是类型,因此您不能将变量用作类型。

在TypeScript中删除变量有4种方法

var、let、const和Type(类型将是自定义数据类型)

let&var
非常相似,而
const
阻止重新分配变量。您可以找到var和let之间的差异

const
是常量,它在TypeScript中的行为与C#相同。在C#中,我们也不能将常量用作类型


主要回答您的问题-myVar是一个变量而不是一个类型,因此您不能将变量用作类型。

让a='a';让b:a;//也是错误,const似乎与此无关。是的,它与const无关。你不能说一个变量的类型是另一个变量,你可以说它们有相同的类型
let a='a';设b:a的类型
a='a';让b:a;//也是错误,const似乎与此无关。是的,它与const无关。你不能说一个变量的类型是另一个变量,你可以说它们有相同的类型
let a='a';设b:a的类型