持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
前言
最近最常用的就是typeScript,typeScript是强类型, 它提供了一套静态检测机制,如何我们编码事中途变换变量的类型,ts就会在报错,帮助我们在编码时发现错误。
在这两个里面都有typeOf,但是作用用法却大有不同。下面我将分享typeOf在ts中和js中的区别,希望对大家有帮助,欢迎讨论指出问题!
1.js中的typeof
js中提供了typeof方法,用来在js中获取数据的类型。一般用于判断基本类型除外null, typeof 也可以判断 function函数,但判断 不了Array数组,因为typeof判断数组返回的是Object类型。
1.typeof用来判断数据类型返回结果:
基本数据类型:string,number,boolean,undefined
引用数据类型:object (不管是什么引用类型就返回object),function
2.typeof判断变量是否存在
typeof a!="undefined"
let s;
function fun() {
let text=1;
}
typeof "123" //返回类型:string
typeof 123 //返回类型:number
typeof true //返回类型:boolean
typeof a //返回类型:undefined
typeof s //返回类型:undefined
typeof fun //返回类型:function
typeof [1] //返回类型:object
typeof {} //返回类型:object
2.ts中的typeof
ts中的typeof不仅可以获取数据的类型,还可以在类型上下文中引用变量和属性的类型(类型查询),只能查询变量,不能查询函数调用的。
1.使用场景:ts中的typeof可以根据已有的值在函数中有默认变量的值,获取该值的类型,简化类型书写
示例如下:
1.类型上下文指的哪里? 指的是冒号后面的 部分
let p = { x: 1, y: 2 }
function add(point: { x: number; y: number }) {}
add(p)
简化写法如下:
let p = { x: 1, y: 2 }
function add(point: typeof p) {}
add(p)
结束语
希望大家能够喜欢我的文章,我真的很用心在写,也希望通过文章认识更多志同道合的朋友。
最后伙伴们,如果喜欢我的可以给点一个小小的赞👍或者关注➕都是对我最大的支持。