简单介绍typeof

我们都知道js提供了typeof,用来获取基本数据的类型。
实际上,TS也提供了 typeof 操作符。 可以在 【类型上下文】中进行类型查询。
只能够进行变量或者属性查询。

定义参数类型

let p = {
name: 'zs',
age:10
}
function p1(parmas : { name:string, age:number}) { //这里我们声明了参数的类型
console.log('我叫',name)
console.log('今年', age)
}
p1(p)
如果我们这里有很多个参数,每个参数都声明类型,这样会含麻烦。
这个时候我们就可以使用 typeof 来解决这个问题了。

typeof 的运用

let p = {
name: 'zs',
age:10
}
function p1(parmas: typeof p) { //它会去解析p。 然后变成 parmas : { name:string, age:number}
console.log(p.age)
console.log(p.name)
}
p1(p)

typeof只能用来查询变量或者属性的类型。

let p = {
age: 10,
name:'zs'
} let nianling: typeof p.age
let name: typeof p.name

typeof 的注意点

typeof只能用来查询变量或者属性的类型。
无法查询其他形式的类型。比如说:返回调用的类型。 let p = {
num1: 10,
num2:30
} function add(parmas: typeof p) :number {
return p.num1+p.num2
}
// 逗号运算符的左侧未使用,没有任何副作用.这样会报错
let sum:typeof add(4,8)

TypeScript中typeof的简单介绍的更多相关文章

  1. json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别

    JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 在js使用中的一个函 ...

  2. iOS7 中的JavaScriptCore简单介绍

    以前写过一篇介绍如何使用第三方库在ios上进行js和oc交互调用的文章,链接如下 iOS 使用UIWebView把oc代码和javascript相关联.当时建立项目时,仍然是ios6时代,所以没有原生 ...

  3. c语言中函数的简单介绍

    c语言中函数的介绍: 函数,简单的说就是代码的打包.存放在一个地方,当需要的时候调用. 函数分类: 1.无参无返回值函数 void func() 2.无参有返回值函数  int func() 3.有参 ...

  4. c# 中内部类的简单介绍 C#内部类

    最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构! 使用内部类有这样 ...

  5. TypeScript中 typeof ArrayInstance[number] 剖析

    假设这样一个场景,目前业务上仅对接了三方支付 'Alipay', 'Wxpay', 'PayPal', 实际业务 getPaymentMode 会根据不同支付方式进行不同的付款/结算流程. const ...

  6. Java中NIO的简单介绍

    NIO基本介绍 Java NIO(New IO) 也有人称之为Java non-blocking IO 是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API.NIO与原来的 ...

  7. C 语言中 typeof keyword简单介绍

    原文:http://hi.baidu.com/leowang715/blog/item/b0b96d6f972e7dd080cb4a06.html typeofkeyword是C语言中的一个新扩展.仅 ...

  8. java中数据流的简单介绍

    java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...

  9. js中typeof用法详细介绍

    typeof 运算符把类型信息当作字符串返回,包括有大家常有变量类型.   typeof 运算符把类型信息当作字符串返回.typeof 返回值有六种可能: "number," &q ...

  10. Hibernatne 缓存中二级缓存简单介绍

    hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了. 二级缓存是Sessio ...

随机推荐

  1. 从原理到实践,手把手带你轻松get数仓双集群容灾

    摘要:本文通过介绍双集群的架构.log结构.分析步骤来介绍双集群容灾的问题分析方法. 本文分享自华为云社区<从原理到实践,手把手带你轻松get数仓双集群容灾>,原文作者:Puyol . 双 ...

  2. 事件Event:带你体验鸿蒙轻内核中一对多、多对多任务同步

    摘要:本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十二 事件Event>,原文作者:zhushy . 事件(Event)是一 ...

  3. PS组件相关BAPI

    一.新增组件BAPI "-----------------------------------------@斌将军-------------------------------------- ...

  4. 趣事记录 | 有哪些让你目瞪口呆的 Bug ?

    在知乎上看到一个有趣的 Bug 事件,转载记录一下. 原回答地址:Here 发生于麻省理工的一个有意思的bug:只能发500英里的邮件. 原文在此:http://web.mit.edu/jemorri ...

  5. 如虎添翼!高德地图+Serverless 护航你的假日出行

    ​ 作者 | 刘金龙(福辰) 高德团队 引言 ​ "前方事故多发地段,请注意保持车距..." "您已疲劳驾驶,请注意休息..." "前方经过泰山旅游景 ...

  6. echart相关

    https://www.bilibili.com/video/BV1bh41197p8?p=21&spm_id_from=pageDriver

  7. div模拟表格单元格合并

    效果如下图: html代码如下: 1 <ul class="schedule-list"> 2 <li class="schedule-title&qu ...

  8. vue路由模块化

    https://www.bilibili.com/video/BV1Tg411u7oy?from=search&seid=5098139115981575542&spm_id_from ...

  9. echarts折线图美化(颜色渐变、背景透明、隐藏坐标轴)

    echarts折线图美化(颜色渐变.背景透明.隐藏坐标轴) https://blog.csdn.net/Changeable0127/article/details/81333559?utm_medi ...

  10. C#树的实现

    ddd /// <summary> /// 遍历,线索化等操作的接口 /// </summary> interface ITravelBinTree { void PreOrd ...