首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在TypeScript中获取参数类型的fn({ param })?

在TypeScript中,可以使用typeof运算符来获取参数类型的fn({ param })。

具体步骤如下:

  1. 首先,定义一个函数fn,接受一个参数对象{ param }。
  2. 在函数体内,使用typeof运算符获取参数param的类型。
  3. 将获取到的类型赋值给一个变量,以便后续使用。

以下是一个示例代码:

代码语言:txt
复制
function fn({ param }: { param: any }) {
  const paramType = typeof param;
  console.log(paramType);
}

fn({ param: "example" }); // 输出:string

在上述示例中,我们定义了一个函数fn,接受一个参数对象{ param }。在函数体内,使用typeof运算符获取参数param的类型,并将其赋值给变量paramType。最后,我们通过console.log输出paramType的值,即参数的类型。

需要注意的是,上述示例中的参数类型为any,可以根据实际情况进行修改。另外,如果需要获取更复杂的参数类型,可以使用TypeScript提供的类型操作符和泛型等特性。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(云函数):https://cloud.tencent.com/product/scf
  • 腾讯云云开发(云开发):https://cloud.tencent.com/product/tcb
  • 腾讯云API网关(API网关):https://cloud.tencent.com/product/apigateway
  • 腾讯云云数据库MongoDB版(MongoDB):https://cloud.tencent.com/product/mongodb
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云安全中心(云安全):https://cloud.tencent.com/product/ssc
  • 腾讯云云点播(点播):https://cloud.tencent.com/product/vod
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网开发平台(物联网):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动推送(移动推送):https://cloud.tencent.com/product/tpns
  • 腾讯云云硬盘(云硬盘):https://cloud.tencent.com/product/cbs
  • 腾讯云区块链服务(区块链):https://cloud.tencent.com/product/tbaas
  • 腾讯云云游戏引擎(云游戏):https://cloud.tencent.com/product/gse

以上是一些腾讯云的相关产品,供参考使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【文末送书】Typescript 使用日志

    •对象兼容•函数返回值兼容•函数参数列表兼容•函数参数结构兼容•类兼容•泛型兼容 在 Typescript 是通过结构体来判断兼容性,如果两个结构体一致,就直接兼容了,但如果不一致,Typescript...2、为什么 Typescript 函数参数也是协变呢?...高级类型包括:交叉类型、联合类型、字面量类型、索引类型、映射类型等,这里我们主要讨论一下 •联合类型•映射类型 联合类型 联合类型是指一个对象可能是多个类型一个,:let a :number...•NonNullable,从 T 剔除 null 和 undefined。•ReturnType,获取函数返回值类型。•InstanceType,获取构造函数类型实例类型。...实战优点: 1、发现 es 规范弃用方法,:Date.toGMTString。 2、避免了一些不友好开发代码,:动态给 obj 添加属性。

    2.9K10

    Typescript 使用日志(干货)

    •联合类型,不确定类型是哪个,但能提供几种选择,:type1 | type2。•交叉类型,必须满足多个类型组合,:type1 & type2。...•对象兼容•函数返回值兼容•函数参数列表兼容•函数参数结构兼容•类兼容•泛型兼容 在 Typescript 是通过结构体来判断兼容性,如果两个结构体一致,就直接兼容了,但如果不一致,Typescript...2、为什么 Typescript 函数参数也是协变呢?...•NonNullable,从 T 剔除 null 和 undefined。•ReturnType,获取函数返回值类型。•InstanceType,获取构造函数类型实例类型。...实战优点: 1、发现 es 规范弃用方法,:Date.toGMTString。 2、避免了一些不友好开发代码,:动态给 obj 添加属性。

    2.5K10

    JSDoc支持_TypeScript笔记19

    {function} */ var fn6; // 定义在外部声明文件类型 /** @type {Window} */ var win; /** @type {PromiseLike<string...[p2] - 可选参数(JSDoc语法) * @param {string} [p3 = 'test'] - 有默认值可选参数(JSDoc语法) */ function fn(p1, p2, p3...) {} P.S.注意,后缀等号语法({string=})不适用于对象字面量类型,例如@type {{ a: string, b: number= }}是非法类型声明,可选属性应该用属性名后缀?...具体,会对构造函数this属性访问以及构造函数参数进行检查,并且不允许(不通过new关键字)直接调用构造函数: /** * @constructor * @param {number} data...var result = C(1); P.S.去掉@constructor标记的话,不会报出这两个错误 另外,对于构造函数或类类型参数,可以通过类似于 TypeScript 语法方式来描述其类型

    4.1K10

    探索类型系统底层 - 自己实现一个 TypeScript(硬核干货)

    语言服务器将类型系统连接到 IDE,它们可以在后台运行编译器,并在用户保存文件时重新运行。流行语言, TypeScript 和 Flow 都包含一个语言服务器。 3....使用预定义算法,引擎将计算给定变量或者函数类型TypeScript 在其 Binding 阶段(两次语义传递第一次)中使用最佳公共类型算法。...在我们进一步讨论之前,对于每种类型,我们将使用基本逻辑是: 函数声明:检查参数类型是否有效,然后检查函数体每个语句。...表达式:找到被调用函数声明,获取声明上参数类型,然后获取函数调用表达式传入参数类型,并进行比较。...这就是作用域将应用于实际类型检查器地方。如果找不到声明,就将错误信息添加到 errors 数组。 接下来,我们针对调用时传入参数类型(实参类型)检查每个已定义参数类型

    1.2K40

    JS静态类型检测,有内味儿了

    bug问题,那么有没有一种方式可以无痛在使用JavaScript同时享受到TypeScript类型检查呢?...因为这个类型检测只是让我们按照TypeScript类型语言检测类型问题,但是我们依然是JavaScript代码依然会按照JavaScript代码逻辑运行,如是TypeScript代码的话,这里运行就会报错.../** * 声明函数参数类型 * @param {string} p1 - p1 是 string 类型参数 * @param {string=} p2 - p2 是可选 string 类型参数...* @param {string} [p3] - 另外一种可选参数写法 * @param {string} [p4="test"] - p4 是可选 string 类型参数(默认值为 "test...{{a: string, b: number}} */ function fn2() {} @typedef 描述:@typedef 可以用来声明复杂类型,和@param类似的语法。

    1.8K20

    巧用 TypeScript(四)

    // 第一种方式,传入泛型类型 string const fn2 = fn(1); // 第二种方式,从参数 arg 传入类型 number,来推断出泛型 T...string 复制代码 接着,考虑一种特殊函数情景,像 Vue Computed 一样,不调用函数,也能取出函数返回值类型。...20; } } } 复制代码 一个函数类型可以简单看成是 () => T 形式,对象方法类型,可以看成 a: () => T 形式,在反向推导时(由函数返回值,来推断类型 a...).name // string test(param).age // number 复制代码 最后,结合巧用 TypeScript(一) 中提到 ThisType 映射类型,可以轻松实现在...,从传入 options 参数,得到 childrenKey 类型,然后再传给 TreeItem,如下: interface Options { // 限制为

    72620

    什么是TS类型保护、泛型

    在这个例子,x is Dog 是一个类型保护,它告诉TypeScript编译器,如果 isDog 函数返回 true,那么 x 一定是 Dog 类型。...这些类型参数通常是大写字母(T、U、V等),但它们可以是任何有效标识符。...addNumbers 方法执行加法let sum = myFn.addNumbers(5, 3);console.log(sum); // 输出:82、泛型常见操作类型参数在泛型定义类型参数T)...类型推断在调用泛型函数或实例化泛型类时,TypeScript编译器会尝试根据提供参数来推断类型参数。如果编译器无法推断出类型参数,可能需要显式地指定它们。...};默认泛型类型TypeScript 2.3及更高版本,可以为泛型类型参数提供默认类型//接受两个参数:length(表示数组长度)和 value(表示数组每个元素值)function Arr

    6110

    如何进阶TypeScript功底?一文带你理解TS各种高级语法

    提到它,有一个非常经典案例: // 定义方法获取传入参数length属性 function getLength(arg: T) { // throw error: arr上不存在length...属性 return arg.length; } 这里,我们定义了一个 getLength 方法,希望函数获取传入参数 length 属性。...循环 TypeScript 同样存在对于类型循环语法(Mapping Type),通过我们可以通过 in 关键字配合联合类型来对于类型进行迭代。...fn1 在执行时仅仅需要两个参数 a: string, b: number,显然 fn2 类型定义是满足这个条件(当然它还多传递了第三个参数 c:boolean,在 JS 对于函数而言调用时参数个数大于定义时参数个数是被允许...unknown & any 在 TypeScript 同样存在一个高级类型 unknown ,它可以代表任意类型值,这一点和 any 是非常类型

    1.8K10

    编写高质量可维护代码:Awesome TypeScript

    接下去,本文将给大家分享下,TypeScript 重要特性以及在实际场景使用技巧,帮助大家更高效编写高质量可维护代码。...类型注解 TypeScript 通过类型注解提供编译时静态类型检查,可以在编译阶段就发现潜在 Bug,同时让编码过程提示也更智能。使用方式很简单,在 : 冒号后面注明变量类型即可。...泛型允许同一个函数接受不同类型参数,相比于使用 Any 类型,使用泛型来创建组件可复用和易扩展性要更好,因为泛型会保留参数类型。泛型可以应用于接口、类、变量。...,常见泛型变量如下: T(Type):表示一个 TypeScript 类型 K(Key):表示对象类型 V(Value):表示对象类型 E(Element):表示元素类型 交叉类型 交叉类型就是将多个类型合并为一个类型...function fn(param: string | number): void { console.log("This is the union type"); } 类型保护 类型保护就是在我们已经识别到当前数据是某种数据类型情况下

    2.4K10

    10 个关于 TypeScript 小技巧

    然后 TypeScript 根据作为 addEventListener 方法第一个参数“click”文字确定事件类型。...至于将实际类型添加到旧 JavaScript 代码,实际上通常可以不这样做。只有在您有一些令人讨厌代码(例如, 为同一变量分配不同类型值,您可能会遇到问题。...if you say "any", TypeScript says ¯\_(ツ)_/¯ 但是真的,真的,真的将其用作最后手段。我们不喜欢TypeScript any。...最常见情况是一个函数参数: function fn(param) { console.log(param); } 在内部,它需要在此处为param分配某种类型,因此它可以分配任何类型。...因此,如果改为使用函数fnparam):string {我会忘记该类型(函数fnparam){),TypeScript将不会关注我返回内容,即使我从该函数返回了任何内容。

    1.3K10

    何在 TypeScript 中使用函数

    在本节,我们将学习如何在 TypeScript 中将函数参数标记为可选。 要将函数参数转换为可选参数,请添加 ? 参数名称后面的修饰符。...给定一个类型为 T 函数参数 param1,我们可以通过添加 ? 使 param1 成为可选参数,如下所示: param1?...注意:请记住,对 JavaScript 函数有效所有内容也对 TypeScript 函数有效。 函数类型 在前面的内容,我们向 TypeScript 函数参数和返回值添加了类型。...在 JavaScript ,这通常是通过有一个参数来完成,该参数可以采用不同类型值,字符串或数字。将多个实现设置为相同函数名称称为函数重载。...结论 函数是 TypeScript 应用程序构建块,在本教程,我们学习了如何在 TypeScript 构建类型安全函数,以及如何利用函数重载来更好地记录单个函数所有变体。

    15K10

    3、你能读得懂TypeScript教程之函数

    一、TypeScript函数是有类型 函数类型分为参数类型与返回值类型。...(a + b);} 如果你指定了返回类型为void,却偏偏要返回值,那是在找死,一样不会编译通过,: //'number' is not assignable to type 'void'.var fn...但是在TypeScript我们传递给一个函数参数个数必须与函数接收参数个数一致,类型也需要一致。...在JS我们可以通过arguments来接收,而在TS我们可以通过...(三个小数点)来将剩余参数放到一个数组。...TypeScript函数重载共用一个函数体,也就是说无论声明多少个同名函数,它们共同使用同一个函数体,在调用时会根据传递参数类型不同,而执行这一个函数体。

    75630
    领券