关于result 推断为true 而不是 boolean?
来源:2-10 泛型(Generics) 第一部分

bby365
2020-05-05
老师,你好,这里的result 推断为 true 为何不是Boolean ? result2 推断为[number, string], 不是[123,‘string’]? 这两种情况有什么区别?
写回答
1回答
-
张轩
2020-05-06
同学你好 非常细心的发现 发现了基础里面没有讲的内容 在 ts 中其实还有一种特殊的类型,
称之为 字面量 literal types,它是一个特殊的类型,这个类型就只能是一个原始数据类型 primitive values,举个例子。
let str: 'name' = 'name' let number: 1 = 1
现在 str 和 number 就是 ‘name’类型 和 1 这个类型的 ,赋值给别的会报错,所以使用 const 来类型推断的时候
const ab = true // 这个时候 ab 就是 true 这个字面量类型的,不能赋值给别的 // 但是如果我们用 let 的话, let abc = true // 这个时候 abc 就变成了 boolean 类型了 // typescript 真的是非常智能 ?
112021-01-04
相似问题