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

分享 30 道 TypeScript 相关面的面试题

例如,[string, number] 元组类型期望第一个元素是字符串,第二个元素是数字。这与常规数组形成对比,常规数组只知道元素类型,而不知道顺序计数。...type 提供了更多多功能性,能够表示并集、交集、元组等。虽然interface主要用于对象形状,但 type 可以捕获更广泛模式。 09、为什么泛型在 TypeScript 至关重要?...另一方面, === 是一个严格相等运算符,它检查值和类型,使其在类型敏感上下文中更安全、更可预测。 15、如何在 TypeScript 声明只读数组,以及为什么要使用它?...答案:TypeScript never 类型表示永远不会出现值。它通常用于不返回函数 - 例如,那些总是抛出异常具有无限循环函数。...是一个逻辑运算符,当其左侧操作数为空未定义时返回其右侧操作数,否则返回其左侧操作数。这在您想要回退到默认值情况下非常有用。 22、什么是映射类型,以及如何在 TypeScript 中使用它们?

61030

深入学习下 TypeScript 泛型

在今天内容,我们将尝试 TypeScript 泛型真实示例,并探索它们如何在函数、类型、类和接口中使用。...要在 macOS Ubuntu 18.04 上安装,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境何在 Ubuntu 18.04 上安装 Node.js 使用 PPA 安装部分步骤进行操作...,该函数遍历keys数组并使用数组中指定键创建一个新对象。...这显示在以下屏幕截图中: 了解如何在 TypeScript 创建泛型后,您现在可以继续探索在特定情况下使用泛型。本教程将首先介绍如何在函数中使用泛型。...第二种类型是您通过递归调用 NestedOmit 构建新类型。 如果您进行 NestedOmit 下一次评估,对于第一次递归调用,交集类型现在正在构建一个类型以用作 a 字段类型。

38.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

TypeScript 官方手册翻译计划【二】:普通类型

TypeScript 允许你指定函数输入和输出类型。 参数类型注解 当你声明一个函数时候,你可以在每个参数后面添加类型注解,从而声明函数可以接受什么类型参数。...,因为 TypeScript 会基于 return 语句推断出函数返回类型。...上述例子类型注解不会改变任何事情。一些代码库会显式指定返回类型,这可能是出于文档编写需要,或者是为了防止意外修改,或者只是个人喜好。 匿名函数 匿名函数函数声明有点不同。...}); 即使这里没有给参数 s 添加类型注解,TypeScript 也可以基于 forEach 函数类型,以及对于 name 数组类型推断,来决定 s 类型。...有时候,联合类型所有成员可能存在共性。举个例子,数组字符串都有 slice 方法。

2.2K20

PHP 数组常用操作整理,提升工作效率

array_merge() 合并数组 语法:array_merge(array1, array2, array3...); 这个函数一个多个数组单元合并起来,后一个数组值附加在前一个数组后面...(键值对都有匹配) 语法:array_intersect_assoc(array1, array2, array3...); 函数用于比较两个(更多个)数组键值,并返回交集。...语法:array_diff(array1, array2, array3...); 该函数比较两个(更多个)数组键值,并返回一个差集数组,该数组包括了所有在被比较数组(array1),但是不在任何其他参数数组...(键值对都有匹配) 语法:array_diff_assoc(array1, array2, array3...); 该函数比较两个(更多个)数组键名和键值,并返回一个差集数组,该数组包括了所有在被比较数组...不一样是,如果原数组元素也是数组,就会递归地调用回调函数,也就是说,会递归到更深层数组中去。

22410

何在 TypeScript 中使用函数

要在 macOS Ubuntu 18.04 上安装,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境何在 Ubuntu 18.04 上安装 Node.js 使用 PPA 安装部分步骤进行操作...在 TypeScript 创建函数语法是相同,除了一个主要补充:我们可以让编译器知道每个参数参数应该具有什么类型。...当我们在函数返回字符串时,TypeScript 正确地假定我们函数具有字符串返回类型。...在 JavaScript ,这通常是通过有一个参数来完成,该参数可以采用不同类型值,字符串数字。将多个实现设置为相同函数名称称为函数重载。...结论 函数TypeScript 应用程序构建块,在本教程,我们学习了如何在 TypeScript 构建类型安全函数,以及如何利用函数重载来更好地记录单个函数所有变体。

14.9K10

作为前端leader,为何我在公司力推ts?

|| 本质上是 JavaScript 布尔 OR 运算符,我们尝试利用短路返回一个非 false 值。...这可能会产生意想不到结果,因为当要求数字 0 字符串作为有效输入时,将会被视为 false。...例如,当你尝试处理分层数据时,会发现存在相同类型数据重复模式。JSON 是一个很好例子,它本质上是一个哈希映射,而哈希映射本身可以包含另一个映射映射数组。...对于断言函数,应该添加 asserts as 而不是返回类型。 这样,如果断言通过,TypeScript 将假定参数是前面定义类型。...开发常见问题与避坑指南 三、应用篇:手把手带你在React、Vue中使用TS 如何在React、Vue项目中支持 TS 开发 TypeScript在React、Vue经典案例 ?

2.7K10

Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

6、TypeScript 声明变量有哪些不同关键字? 7、如何书写带有类型注释函数 ? 8、如何在 TypeScript 创建对象 ? 9、如何在 TypeScript 中指定可选属性 ?...string:表示文本值,例如“javascript”、“typescript”等 number:表示数值, 1、2、25、36 等 boolean:表示一个变量,它可以具有“真”“假”值 image.png...void 表示变量没有类型,它充当与任何相反类型,它在不返回函数特别有用 如果变量是 void 类型,则只能将 null undefined 值分配给该变量。...函数是执行特定代码代码块 函数可以有选择地接受一个多个参数,处理它们,并有选择地返回一个值。 image.png 8、如何在 TypeScript 创建对象 ?...参数解构,允许函数将作为参数提供对象结构到一个多个局部变量 image.png 12、说说TypeScript for 循环不同变体 TypeScript 提供了以下三种循环集合方法 image.png

11.4K10

【JS】547- 200行JS代码,带你实现代码编译器(人人都能学会)

应用 运行 tsc 编译 TypeScript 代码 使用 Webpack Gulp 等其他工具构建项目,代码压缩、合并等 部署应用 AOT vs JIT AOT 编译流程: (图片来自:https...: 执行「入口函数」,输入「原始代码字符串」作为参数; // 原始代码字符串 (add 2 (subtract 4 2)) 进入「解析阶段(Parsing)」,原始代码字符串通过「词法分析器(Tokenizer...,将原始代码字符串转换为「词法单元数组(tokens)」,并返回。...在遍历过程,匹配每种字符并处理成「词法单元」压入「词法单元数组」,当匹配到左括号( ( )时,将往「词法单元数组(tokens)「压入一个」词法单元对象」({type: 'paren', value...ast return ast; } 3.4 转换阶段 在转换阶段,定义了转换器 transformer 函数,使用词法分析器返回 LISP AST 对象作为参数,将 AST 对象转换成一个

2.6K40

让你更好使用 Typescript 11个技巧

&运算符创建了交集:Measure & Style 表示包含 radius 和 color 字段对象集合,这实际上是一个较小集合,但具有更多常用字段。...(isCircle) as Circle[]; 一个更优雅解决方案是将isCircle和isRect改为返回类型谓词,这样它们可以帮助Typescript在调用 filter 后进一步缩小类型。...但是,在模糊不清情况下,我们可能需要干预。分配条件类型就是其中之一。 假设我们有一个ToArray辅助类型,如果输入类型不是数组,则返回一个数组类型。...在适当时候优先选择元组而不是数组 对象类型是输入结构化数据常见方式,但有时你可能希望有更多表示方法,并使用简单数组来代替。...在实践,您可能会发现直接使用它们并不常见;然而,这些技术被专门为Typescript设计库大量使用:比如Prisma和tRPC。了解这些技巧可以帮助您更好地了解这些工具如何在引擎盖下工作。

1K20

PHP 数组函数整理

: 多个数组交集, 键值均相同, 使用用户函数比较 array_intersect_key: 多个数组交集, 键相同, 值为第一个数组值 array_intersect_ukey: 多个数组交集..., 键相同, 值为第一个数组值, 使用用户函数比较 array_intersect: 多个数组交集, 值相同, 键使用第一个数组 array_uintersect_assoc: 多个数组交集,...: 将数组指定部分使用新数组取代 合并: array_merge: 合并一个多个数组 array_merge_recursive: 合并一个多个数组, 递归处理 array_replace: 合并数组..., ...]): 将多个数组合并, 返回合并后数组函数 与array_replace 不同, 在于此函数递归比较, 将数组数组都进行比较 array_walk($arr, $callback...与 array_walk 不同, 此函数递归数组每个数组 array_values($arr): 将数组所有值, 作为新数组返回 array_keys($arr): 将数组所有键,作为新数组返回

2.7K20

【图文详解】200行JS代码,带你实现代码编译器(人人都能学会)

运行 tsc 编译 TypeScript 代码 使用 Webpack Gulp 等其他工具构建项目,代码压缩、合并等 部署应用 动态解释 简称 JIT(Just-In-Time)即 即时编译 ,...JIT 编译模式开发流程如下: 使用 TypeScript 开发 Angular 应用 运行 tsc 编译 TypeScript 代码 使用 Webpack Gulp 等其他工具构建项目,代码压缩...Tiny Compiler  编译器核心工作流程: [The Super Tiny Compiler编译器工作流程.png] 图中详细流程如下: 执行入口函数输入原始代码字符串作为参数; // 原始代码字符串...在遍历过程,匹配每种字符并处理成词法单元压入词法单元数组当匹配到左括号( ( )时,将往词法单元数组(tokens)压入一个词法单元对象({type: 'paren', value:'('})。...ast return ast; } 3.4 转换阶段 在转换阶段,定义了转换器 transformer 函数,使用词法分析器返回 LISP AST 对象作为参数,将 AST 对象转换成一个

3.1K00

JavaScript数据结构与算法-Array

== nums[i + 1]) { return nums[i]; break; } } }; 两个数组交集i 给定两个数组,编写一个函数来计算它们交集...ii 给定两个数组,编写一个函数来计算它们交集。...我解法是判断数组长度,遍历长度短数组,因为两个数组交集不可能超出最短数组,然后用indexOf判断是否是交集,再删除长数组重复这一项,进行下一次循环,因为indexOf只能找出第一个出现位置...这道题思路就是递归,因为输入字符串长度不确定,所以就两个两个组合,比如输入234,他们对应字符串映射成['abc','def','ghi'],就先组合 abc和 def => [["ad","ae...此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同整数。 仅当你可选 X >= 2 时返回 true。

57920

TypeScript 演化史 -- 6】对象扩展运算符和 rest 运算符及 keyof 和查找类型

一个简单 prop 函数为例: function prop(obj, key) { return obj[key]; } 它接受一个对象和一个键,并返回相应属性值。...一个对象不同属性可以有完全不同类型,咱们甚至不知道 obj 是什么样子。 那么如何在 TypeScript 编写这个函数呢?...,TypeScript 就不知道将为 key 参数传递哪个值,所以它不能推断出prop函数更具体返回类型。...TypeScript 2.1 新增加 keyof 操作符。输入索引类型查询 keyof,索引类型查询keyof T产生类型是 T 属性名称。...} TypeScript 现在以推断 prop 函数返回类型为 T[K],这个就是所谓 索引类型查询 查找类型。

2.5K30

TypeScript 演化史 — 第六章】对象扩展运算符和 rest 运算符及 keyof 和查找类型

一个简单 prop 函数为例: function prop(obj, key) { return obj[key]; } 它接受一个对象和一个键,并返回相应属性值。...一个对象不同属性可以有完全不同类型,咱们甚至不知道 obj 是什么样子。 那么如何在 TypeScript 编写这个函数呢?...,TypeScript 就不知道将为 key 参数传递哪个值,所以它不能推断出prop函数更具体返回类型。...TypeScript 2.1 新增加 keyof 操作符。输入索引类型查询 keyof,索引类型查询keyof T产生类型是 T属性名称。...} TypeScript 现在以推断 prop 函数返回类型为 T[K],这个就是所谓 索引类型查询 查找类型。

3.1K50

PHP String、Array、Object、Date 常用方法小结

array_column() 返回输入数组某个单一列值。 array_combine() 通过合并两个数组来创建一个数组。...array_keys() 返回数组中所有的键名。 array_map() 把数组每个值发送到用户自定义函数返回值。 array_merge() 把一个多个数组合并为一个数组。...array_rand() 返回数组一个多个随机键。 array_reduce() 通过使用用户自定义函数,以字符串返回数组。...array_uintersect() 比较数组返回交集(只比较值,使用一个用户自定义键名比较函数)。...array_unshift() 在数组开头插入一个多个元素。 array_values() 返回数组中所有的值。 array_walk() 对数组每个成员应用用户函数

18110

【万字长文】深入理解 Typescript 高级用法

函数可以帮助我们做很多事,比如 : 函数可以把程序封装成一个个功能,并形成函数内部变量作用域,通过静态变量保存函数状态,通过返回返回结果。...那么言归正传,如何在 Typescript 类型系统定义函数呢?...,我们已经对 联合类型(Union Types) 有了一个相对全面的了解,后续在此基础之上在作一些高级拓展,也砍瓜切菜一般简单了。...其他数据类型 当然除了数组,还存在其他数据类型,例如可以用 type interface 模拟 Javascript 「字面量对象」,其特征之一就是可以使用 myType['propKey'...首先来让我们举个栗子: 假如现在需要把一个任意长度元组类型子类型依次取出,并用 & 拼接并返回

3.3K20
领券