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

使用函数param的typeof的条件类型

是一种在 TypeScript 中用于根据变量的类型进行条件判断的技术。它可以根据变量的类型来确定返回值的类型,从而实现类型的自动推断和约束。

具体来说,typeof的条件类型可以通过使用typeof操作符来获取变量的类型,并根据不同的类型返回不同的类型。它通常与泛型结合使用,以实现更灵活的类型判断和类型推断。

下面是一个示例:

代码语言:txt
复制
type TypeName<T> =
  T extends string ? "string" :
  T extends number ? "number" :
  T extends boolean ? "boolean" :
  T extends undefined ? "undefined" :
  T extends Function ? "function" :
  "object";

function getTypeName<T>(param: T): TypeName<T> {
  return typeof param as TypeName<T>;
}

const str = "Hello";
const num = 42;
const bool = true;

console.log(getTypeName(str)); // 输出 "string"
console.log(getTypeName(num)); // 输出 "number"
console.log(getTypeName(bool)); // 输出 "boolean"

在上面的示例中,我们定义了一个条件类型TypeName,它根据不同的类型返回不同的字符串字面量类型。然后我们定义了一个函数getTypeName,它接受一个参数param,并使用typeof操作符获取param的类型,并将其转换为TypeName<T>类型。最后,我们分别传入不同类型的变量并调用getTypeName函数,可以看到根据变量的类型,返回了相应的字符串字面量类型。

使用函数param的typeof的条件类型可以在很多场景下发挥作用,例如根据不同的类型执行不同的逻辑、根据不同的类型进行类型推断等。在实际开发中,可以根据具体的需求灵活运用该技术。

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

请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行评估和决策。

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

相关·内容

  • 推断js中的类型:typeof instanceof constructor prototype

    ,对不同的操作数,它返回不同的结果,另外typeof能够推断function的类型;在推断除Object类型的对象时比較方便。...2) 对于字符串类型,typeof返回的值是string。比方typeof “jason”返回的值是string。 3) 对于布尔类型,typeof返回的值是boolean。...比方typeof {},typeof [],typeof null返回的值都是object。 5) 对于函数类型,返回的值是function。...比方:typeof eval,typeof Date返回的值都是function。 6) 假设运算数是未定义的(比方说不存在的变量、函数或者undefined),将返回undefined。...注意:instanceof 后面一定要是对象类型,而且大写和小写不能错,该方法适合一些条件选择或分支。

    1.3K10

    JavaScript中的typeof操作符 类型转换

    HTML5学堂:JavaScript是弱变量类型的语言,有些时候我们需要知道变量的数据类型,并且需要进行数据类型的转换,我们通过这篇文章来学习一下如何获取变量的数据类型,以及数字和字符串如何相互转换。...typeof操作符 由于JavaScript是弱数据类型的语言,因此需要有一种方法检测变量的数据类型,这时我们可以用typeof来检测变量的数据类型。...显式转换是通过函数的形式,将字符串转换成数组的形式,隐式转换则是通过运算符的方式将字符串转换成数字的形式。...我们想把其他类型变量转换成字符串,这个时候,我们通常使用toString()方法。...我们还可以使用转型函数String(),这个函数能够将任何类型的值转换成字符串。

    1.2K60

    使用FILTER函数筛选满足多个条件的数据

    标签:Excel函数,FILTER函数 FILTER函数是一个动态数组函数,可以基于定义的条件筛选一系列数据,其语法为: FILTER(数组,包括, [是否为空]) 其中,参数数组,是想要筛选的数据,...参数包括,指定筛选的条件,应返回TRUE,以便将其包含在查询中。参数是否为空,如果没有满足筛选条件的结果,则可以给该参数指定要返回的内容,可选。 我们可以使用FILTER函数返回满足多个条件的数据。...假设我们要获取两个条件都满足时的数据,如下图1所示示例数据,要返回白鹤公司销售香蕉的数据。...图1 可以使用公式: =FILTER(A2:D11,(A2:A11=G1)*(C2:C11=G2)) 公式中,两个条件相乘表示两者都要满足。结果如下图2所示。...图2 如果我们想要获取芒果和葡萄的所有数据,则使用公式: =FILTER(A2:D11,(C2:C11="芒果")+(C2:C11="葡萄")) 将两个条件相加,表示两者满足之一即可。

    3.5K20

    JavaScript的三种类型检测typeof , instanceof , toString比较

    1.typeof typeof是js的一个操作符,在类型检测中,几乎没有任何用处。...typeof 返回一个表达式的数据类型的字符串,返回结果为javascript中的基本数据类型,包括:number、boolean、string、object、undefined、function等6种数据类型...也就是说,typeof只能返回这几种类型,而对于我们的自定义对象,它只会返回object,在实际应用中作用约等于零。...此外,typeof在不同浏览器中可能存在一些兼容性的问题,如将function类型认作是object等 2.instanceof instanceof操作符采用了另一种方式来判断对象类型:原型链。...3. toString 使用Object.prototype.toString.call(value) 方法去调用对象,得到对象的构造函数名。

    1.7K50

    python的enumerate函数怎么加判断条件_java中比int大的整数类型

    [如果您想知道上面例子中使用的f’…’字符串语法,这是Python 3.6及更高版本中提供的一种新的字符串格式化技巧。]...我发现,有很多从C或Java背景转过来的新的Python开发人员有时使用下面这种range(len(…))方法来保存运行中每个元素的索引,同时再用for循环遍历列表: ''' 遇到问题没人解答?...''' # 警告: 不建议这么写 for i in range(len(my_items)): print(i, my_items[i]) 通过巧妙地使用enumerate()函数,就像我在上面的...事实上他的部分魔法是通过Python迭代器来实现的。意思就是每个元素的索引是懒加载的(一个接一个,用的时候生成),这使得内存使用量很低并且保持这个结构运行很快。...enumerate函数是从2.3版本开始被添加到Python中的 Python的enumerate函数可以帮助你编写出更加Pythonic和地道的循环结构,避免使用笨重且容易出错的手动生成索引。

    1.1K10

    如何高效使用Excel的SUMIF函数:掌握条件求和的技巧

    背景:在日常工作中,我们经常遇到这样的情况:需要根据特定条件对一系列数据进行求和。幸运的是,Excel提供了一个强大的工具来简化这一任务——SUMIF函数。...本博客将带你深入了解如何使用SUMIF函数,包括一些实用的示例和高级技巧。SUMIF函数概述SUMIF函数是一个条件求和函数,它允许你在满足一个条件的情况下求和一列数字。..."相关产品的总销售额:=SUMIF(A2:A6, "笔记本*", B2:B6)实用技巧2:结合其他函数SUMIF函数可以与其他Excel函数结合使用来实现更复杂的条件求和。...例如,你可以使用 AND 和 OR 的逻辑来实现多条件的求和(虽然在实际使用中需要借助SUMIFS或数组公式来实现)。...无论是进行简单的条件求和,还是处理更复杂的数据分析任务,掌握SUMIF都是一个非常有价值的技能。希望本篇博客能够帮助你更好地理解和使用SUMIF函数。

    57721

    OpenCV的Mat类型以及基本函数使用

    OpenCV的Mat类型以及基本函数使用 Mat和IplImage的区别 Mat和IplImage的主要区别 在OpenCV中IplImage是表示一个图像的结构体,也是从OpenCV1.0到目前最为重要的一个结构...其中有一个构造函数可以很方便的直接将IplImage转化为Mat Mat(const IplImage* img, bool copyData=false); 基本函数使用 imread 功能:从一个文件中载入图片...在Windows操作系统下,OpenCV的imread函数支持常用的图片类型,比如bmp,jpg,jpeg,png等等。...很多时候,遇到函数原型中的InputArray类型,我们把它简单地当做Mat类型就行了。 imshow 函数用于在指定的窗口中显示图像。...而imshow 函数缩放图像,取决于图像的深度: 如果载入的图像是8位无符号类型(8-bit unsigned),就显示图像本来的样子。

    1.5K10

    变量类型测试函数的使用:八、剩余函数的使用方法

    讲完PHP变量类型测试函数【is_resource】的用法,今天来讲讲PHP变量类型测试函数【is_null、is_scalar、is_numeric、is_callable】的用法。...查看 NULL 类型获知变量什么时候被认为是 NULL,而什么时候不是。...这可以检查包含有效函数名的变量,或者一个数组,包含了正确编码的对象以及函数名。 如果 name 可调用则返回 TRUE,否则返回 FALSE。...is_callable 参数 name:要检查的回调函数。 syntax_only:如果设置为 TRUE,这个函数仅仅验证 name 可能是函数或方法。...它仅仅拒绝非字符,或者未包含能用于回调函数的有效结构。有效的应该包含两个元素,第一个是一个对象或者字符,第二个元素是个字符。 callable_name:接受“可调用的名称”。

    1.3K31

    TS中的内置条件类型:ReturnType

    先说一下条件类型是什么条件类型是一种由条件表达式所决定的类型。条件类型使类型具有了不唯一性,同样增加了语言的灵活性。总言之,条件类型就是在类型中添加条件分支,以支持更加灵活的泛型,满足更多的使用场景。...X : Y表示若类型T可被赋值给类型U,那么结果类型就是X类型,否则就是Y类型。而内置条件类型则是TS内部封装好的一些类型处理,使用起来更加便利。...内置条件类型:ReturnType\在 2.8 版本中,TypeScript 内置了一些与 infer 有关的映射类型,就比如说我们今天的主角:ReturnType其用于提取函数的返回值类型...InstanceType -- 获取构造函数类型的实例类型。讲回inferinfer 最早出现在此 PR 中,表示在 extends 条件语句中待推断的类型变量。...P : T;在这个条件语句 T extends (arg: infer P) => any ? P : T 中,infer P 表示待推断的函数参数。

    1.2K00

    TypeScript函数的类型

    { return x+y; }; 这是可以通过编译的,不过事实上,上面的代码只对等号右侧的匿名函数进行了类型定义,而等号左边的 mySum,是通过赋值操作进行类型推论而推断出来的。...在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。...用接口定义函数的形状 我们也可以使用接口的方式来定义一个函数需要符合的形状: interface SearchFunc{ (source:string,subString:string):boolean...==-1; } 采用函数表达式|接口定义函数的方式时,对等号左侧进行类型限制,可以保证以后对函数名赋值时保证参数个数、参数类型、返回值类型不变。...这时,我们可以使用重载定义多个 reverse 的函数类型: function reverse(x: number): number; function reverse(x: string): string

    2K30

    函数或条件子句的占位符

    推荐在遍历原数据集合时根据条件创建一个新的数据集合,遴选公务员而这正是Python语言中for语句的强大之处。 Python还支持pass 语句,该语句不执行任何操作。...语法上需要一个语句,但程序不实际执行任何动作时,可以使用该语句。该语句可以用作函数或条件子句的占位符,以便让开发者聚焦更抽象的层次。...http://www.gongxuanwang.com/ 遴选公务员函数定义时形参的位置次序依次传入参数,也可以按关键字(形参名=形参值)的方式传入参数(无需按函数定义时形参的顺序传递),还可以两者混用...,但关键字传参必须在位置传参之后: 也可以按关键字(形参名=形参值)的方式传入参数(无需按函数定义时形参的顺序传递),还可以两者混用。...、列表中的值按位置传参的方式传入函数,可以通过**将字典中的值按关键字传参的方式传入函数:http://lx.gongxuanwang.com/

    81530
    领券