美文网首页
TypeScript02(任意类型)

TypeScript02(任意类型)

作者: BingJS | 来源:发表于2022-03-06 15:29 被阅读0次

nodejs 环境执行ts
npm i @types/node --save-dev (node环境支持的依赖必装)
npm i ts-node -g

any 类型 和 unknown 顶级类型

  1. 没有强制限定哪种类型,随时切换类型都可以 我们可以对 any 进行任何操作,不需要检查类型
let anys:any = 123
anys = '123'
anys = true
  1. 声明变量的时候没有指定任意类型默认为any
let anys;
anys = '123'
anys = true
  1. 弊端如果使用any 就失去了TS类型检测的作用
  2. TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。
    与 any 一样,所有类型都可以分配给unknown

unknow类型比any更加严格当你要使用any 的时候可以尝试使用unknow

//unknown 可以定义任何类型的值
let value: unknown;
 
value = true;             // OK
value = 42;               // OK
value = "Hello World";    // OK
value = [];               // OK
value = {};               // OK
value = null;             // OK
value = undefined;        // OK
value = Symbol("type");   // OK
 
//这样写会报错 unknow类型不能作为子类型只能作为父类型 any可以作为父类型和子类型
//unknown类型不能赋值给其他类型
let names:unknown = '123'
let names2:string = names
 
//这样就没问题 any类型是可以的
let names:any = '123'
let names2:string = names   
 
//unknown可赋值对象只有unknown 和 any
let bbb:unknown = '123'
let aaa:any= '456'
aaa = bbb

区别2
如果是any类型在对象没有这个属性的时候还在获取是不会报错的
如果是unknow 是不能调用属性和方法

//如果是any类型在对象没有这个属性的时候还在获取是不会报错的
let obj:any = {b:1}
obj.a
 
//如果是unknow类型在对象没有这个属性的时候调用会报错
let obj:unknown = {b:1}
obj.b
obj.a

相关文章

  • TypeScript02(任意类型)

    nodejs 环境执行tsnpm i @types/node --save-dev (node环境支持的依赖必装)...

  • Js中的数据类型转换

    任意数据类型转 String 1、任意类型. tostring() 2、string(任意类型) 3、‘’ + 任...

  • JS 里的数据类型转换

    任意类型转字符串 任意类型转布尔 任意类型转数字 任意类型转null与undefined不讨论,因为不需要。 内存...

  • TypeScript简单入门(四):TypeScript任意值

    任意值 任意值(Any)用来表示允许赋值为任意类型。 什么是任意值类型如果是一个普通类型,在赋值过程中改变类型是不...

  • day2 任意值

    任意值(Any)用来表示允许赋值为任意类型。 但如果是 any 类型,则允许被赋值为任意类型。 任意值的属性和方法...

  • swift3.0 类型转换

    任意对象 anyObject转换为json对象 任意对象转换为String类型 String类型转Int类型

  • JS 类型转换和对象引用

    数据类型转换 任意类型转string: 任意类型转boolean: 其他类型转boolean后值为false的只有...

  • TypeScript 入门教程 — 任意值

    任意值(Any)用来表示允许赋值为任意类型。 什么是任意值类型 如果是一个普通类型,在赋值过程中改变类型是不被允许...

  • TypeScript 简洁教程 TS

    TypeScript 基础类型 数据类型关键字描述任意类型any声明为 any 的变量可以赋予任意类型的值数字类型...

  • JS中数据类型的转换

    数据类型转换 任意类型转String 1.String(x) 2.x.toString() 3.x+'' 任意类型...

网友评论

      本文标题:TypeScript02(任意类型)

      本文链接:https://www.haomeiwen.com/subject/qiqwrrtx.html