首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

TypeScript 原始数据类型

简而言之,类型声明变量设置了类型,使得变量只能存储某种类型的值 Snipaste_2021-05-18_14-09-22.jpg TypeScript 中的数据类型分为两大类 原始数据类型(基本数据类型...) 对象类型(复杂数据类型) 常用的基本数据类型number / string / boolean / undefined / null 自动类型判断 TS 拥有自动的类型判断机制 当对变量的声明和赋值时同时进行的...unknown * 类型安全的any void 空值(undefined) 没有值(或undefined) never 没有值 不能是任何值 object (name: '罗') 任意的 js 对象...; // 声明但未赋值的变量值(找不到值) Null类型 表示对象缺失 let nu: null = null; // 声明并已赋值(能找到,值就是null) Undefined类型 用于初始化变量为一个未定义的值...undefined 类型的变量赋值 number 类型的变量 let vo: void; let num: number = vo; // void 类型的变量不能number 类型的变量赋值

78950

TypeScript类型声明

node 不能直接执行ts文件,需要先将ts编译成js,然后再执行js一、 string、number、null、undefined、boolean类型声明JS普通写法如下: let myName =...类型,any类型可以赋值任意类型unknown,never都不允许执行变量的方法以及访问内部属性在unknown没有被断言或细化到一个确切类型之前,unknown不可以赋值其它类型,除了它自己和any...类型的变量let testValue1: unknown = unknownValue;//赋值any类型的变量let testValue2: any = unknownValue;错误示范://赋值...具有以下特点:never类型是所有类型的子类型,即never类型可以赋值任何类型。其他任何类型均不是never类型的子类型,即其他类型均不可赋值never类型,除了never本身。...变量也可以声明为never类型,但其不能赋值设置变量类型为never,表示永远不能执行完或者永远Error,具体示例如下:函数中出现了死循环,永远不能执行完,因此其函数类型为:() => neverfunction

33930

【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【上】

—— 隐式的any let b //以下对b的赋值,均⽆警告 b = 100 b = '你好' b = false 注意点: any 类型的变量,可以赋值任意类型的变量 /* 注意点:any类型的变量...,严格模式下不能将 null 赋值 void 类型。...1,3,5,7,9] a = function(){} // 以下代码,是将【原始类型】赋a,有警告 a = null // 警告:不能类型“null”分配给类型“object” a = undefined...// 警告:不能类型undefined”分配给类型“object” a = 1 // 警告:不能类型number”分配给类型“object” a = true // 警告:不能类型“boolean...; } test(10) // 类型number”的参数不能类型“Demo”的参数 test({name:'张三'}) // 类型“{ name: string; }”的参数不能类型“Demo

9110

TypeScript 基础类型

Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。...而在TypeScript中启用严格的空校验(--strictNullChecks)特性,就可以使得null 和 undefined 只能被赋值 void 或本身对应的类型,示例代码如下: // 启用...这意味着声明为 never 类型的变量只能被 never 类型赋值,在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环),示例代码如下: let x: never; let y: number...; // 运行错误,数字类型不能转为 never 类型 x = 123; // 运行正确,never 类型可以赋值 never类型 x = (()=>{ throw new Error('exception...')})(); // 运行正确,never 类型可以赋值 数字类型 y = (()=>{ throw new Error('exception')})(); // 返回值为 never 的函数可以是抛出异常的情况

60910

【TypeScript】TS类型断言-类型的声明和转换(七)

TS中并不能判断在使用联合类型时具体是那种类型?当我们不知道是什么类型的情况下要使用某个类型特有的属性或者方法,那么就可以用断言来实现,它实际上是对编辑器做了提前告知的行为,但是并不能保证运行中报错。...).length;//0//anyValue是string或者number联合类型,在使用时候将其断言为string类型let anyValue:string | number = 'zhangsan'...(); }这里出一个面试题,如下:// 面试题 const a: number | undefined = undefined;const b: number = a!...: number;startClass();console.log('' + score); // 使用前赋值function startClass() { score = 5;}(3)将任何类型断言为...比如以下案例:我们知道obj一定是有值的,请求接口后赋值obj,所以一定是有值的,但是我们直接赋值,就会报错const obj = {};obj.name = 'zhangsan';obj.age =

29410

javascript typescript_typescript python

Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。...而在TypeScript中启用严格的空校验(–strictNullChecks)特性,就可以使得null 和 undefined 只能被赋值 void 或本身对应的类型 10.never: never...,数字类型不能转为 never 类型 x = 123; // 运行正确,never 类型可以赋值 never类型 x = (()=>{ throw new Error('exception...')})(); // 运行正确,never 类型可以赋值 数字类型 y = (()=>{ throw new Error('exception')})(); // 返回值为 never...never 类型 x = 123; // 运行正确,never 类型可以赋值 never类型 x = (function () { throw new Error('exception')

56110

TypeScript数据类型

TypeScript的原始数据类型 String Number boolean null undefined enum symbol // Number var num:number=1; /...我们可以发现他是不规范的,void不能有返回值. ?...同时我们也不能对void类型进行分配 TypeScript 任意值 任意值(Any)用来表示允许赋值为任意类型,声明一个变量任意值之后,对他的任何操作,返回的内容类型都是任意值。..., * 他等价于var num2:any; */ var num2; TypeScript类型推论 TypeScript会按照类型推论原则推论出我们的类型 /** * 变量赋值初始值的时候如果没有指定类型...,那么他就会根据初始值倒推类型 * 那么说后续我们只能按照初始值类型进行赋值,当字符串2赋值b的时候他是不允许的,因为类型不匹配 */ var b=1 b="2"; 如果定义的时候没有赋值,不管之后有没有赋值

37610

TypeScript类型断言-类型的声明和转换

TS中并不能判断在使用联合类型时具体是那种类型?当我们不知道是什么类型的情况下要使用某个类型特有的属性或者方法,那么就可以用断言来实现,它实际上是对编辑器做了提前告知的行为,但是并不能保证运行中报错。...).length;//0//anyValue是string或者number联合类型,在使用时候将其断言为string类型let anyValue:string | number = 'zhangsan'...(); }这里出一个面试题,如下:// 面试题 const a: number | undefined = undefined;const b: number = a!...: number;startClass();console.log('' + score); // 使用前赋值function startClass() { score = 5;}(3)将任何类型断言为...比如以下案例:我们知道obj一定是有值的,请求接口后赋值obj,所以一定是有值的,但是我们直接赋值,就会报错const obj = {};obj.name = 'zhangsan';obj.age =

31210

TypeScript数据类型

TypeScript的原始数据类型 String Number boolean null undefined enum symbol // Number var num:number=1; /.... [0191e7da-e423-44be-a079-3fa63e66cfd5.png] 同时我们也不能对void类型进行分配 TypeScript 任意值 任意值(Any)用来表示允许赋值为任意类型,..., * 他等价于var num2:any; */ var num2; TypeScript类型推论 TypeScript会按照类型推论原则推论出我们的类型 /** * 变量赋值初始值的时候如果没有指定类型...,那么他就会根据初始值倒推类型 * 那么说后续我们只能按照初始值类型进行赋值,当字符串2赋值b的时候他是不允许的,因为类型不匹配 */ var b=1 b="2"; 如果定义的时候没有赋值,不管之后有没有赋值...,都会被推断成any类型而且完全不会被类型检查. /** * 如果没有b赋初始值就是any类型,他等价于var b:any; */ var b; b="2"; b=true;

36630

TypeScript数据类型

TypeScript的原始数据类型 String Number boolean null undefined enum symbol // Number var num:number=1; /.... [0191e7da-e423-44be-a079-3fa63e66cfd5.png] 同时我们也不能对void类型进行分配 TypeScript 任意值 任意值(Any)用来表示允许赋值为任意类型,..., * 他等价于var num2:any; */ var num2; TypeScript类型推论 TypeScript会按照类型推论原则推论出我们的类型 /** * 变量赋值初始值的时候如果没有指定类型...,那么他就会根据初始值倒推类型 * 那么说后续我们只能按照初始值类型进行赋值,当字符串2赋值b的时候他是不允许的,因为类型不匹配 */ var b=1 b="2"; 如果定义的时候没有赋值,不管之后有没有赋值...,都会被推断成any类型而且完全不会被类型检查. /** * 如果没有b赋初始值就是any类型,他等价于var b:any; */ var b; b="2"; b=true;

31500

TypeScript不学?你养我啊

定义类型的好处 如下,我想求和a和b,但是又错误的a赋值了'sk',那么c的值就成了拼接字符串的结果。其实这时候要是定义变量的时候约束了类型,在给变量a赋值 'sk'时,就会报错。...let a:number; 当我们a赋值字符串时,就会提示错误。 并且我们再执行编译的时候,也会报错。但是即使报错也会将ts成功编译成相应的js文件。...let c:boolean = false 如果我们在声明完直接赋值,并且没有定义类型。如下,此时bool赋值为true,然后又赋值为123。此时也会报错的。因为Ts会自动判断类型。...let str:string let e:unknown e ='sss' str = e unknown类型实际上是一个类型安全的any,unknown类型的变量不能赋值其他变量 unknown类型赋值...function fn():string|number{ return 12 } never 也是用于函数的返回值,表示永远不会返回结果(连undefined、null都不返回)。

87520
领券