首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript学习笔记016-字符串方法0数组方法0类型与引用

    ,查找 str1.includes("b"); // 是否在字符串里查到了参数,返回布尔 str1.startsWith("b", 0); // 从头部开始,是否在字符串里查到了参数,返回布尔...str1.endsWith("b", 1); // 从尾部开始,是否在字符串里查到了参数,返回布尔 // 字符串unicode码查找 str1.charCodeAt("1"); // "b"..."; str3.trim( ); // "1233" /* 类型数据: number string null undefined boolean 类型数据比较,类型相同,长得一样,就相等...引用数据: object 引用数据比较,是比较内存地址 */ // 引用数据this指向 function fn(){ console.log(this); } let obj = { a: fn..., c, a, b, c" 相当于arr1.toString() 方法内不传,把数组整体放入字符串 arr1.join(""); // "abcabc" 方法内传入空字符串,删除数组内逗号相连接 arr1

    40820

    TypeScript基础(一)基本类型类型运算

    基本类型 number:数字 string:字符串 boolean:布尔 数组 object: 对象 null 和 undefined null和undefined是所有其他类型类型,它们可以赋值给其他类型...,并且数组每一项类型确定 let person: [string, number] = ["John", 25]; any类型: any类型可以绕过类型检查,因此,any类型数据可以赋值给任意类型...约束(Generic Constraints) 使用 extends 关键字对进行约束,限制参数必须满足某些条件。...通过约束,我们可以在函数内部使用参数特定属性或方法。 这些类型运算符可以帮助开发者更灵活地操作和组合类型,提供了更强大类型系统支持。...(2, 3); // 返回 6 在这个示例中,函数multiply接受两个参数,都是number类型,并且返回也是number类型

    22730

    TypeScript基础常用知识点总结

    TypeScript—类型推论和类型断言 11. TypeScript—枚举 12. TypeScript— 13. TypeScript—字符串字面量类型 14....用数组表示数组 我们也可以使用数组Array 来表示数组: let nums: Array = [1, 1, 2, 3, 5]; 关于,可以下面会具体讲解...这里主要是想介绍数组可以定义数组。...TypeScript— 是指在定义函数、接口或类时候,不预先指定具体类型,而在使用时候再指定类型一种特性。...这段代码编译不会报错,但是一个显而易见缺陷是,它并没有准确定义返回类型。Array 允许数组每一项都为任意类型。但是我们预期是,数组每一项都应该是输入 value 类型

    4.8K30

    精读《ObjectEntries, Shift, Reverse...》

    对象或数组联合类型思路都是类似的,一个数组联合类型用 [number] 作为下标: ['1', '2', '3']['number'] // '1' | '2' | '3' 对象方式则是 [keyof...T] 作为下标: type ObjectToUnion = T[keyof T] 再观察这道题,联合类型每一项都是数组,分别是 Key 与 Value,这样就比较好写了,我们只要构造一个 Value...首先因为返回是个递归对象,递归过程中必定不断修改它,因此给添加第三个参数 R 存储这个对象,并且在递归数组时从最后一个开始,这样从最内层对象开始一点点把它 “包起来”: type TupleToNestedObject...,这里还有一个特殊情况,即字符串中通过这种方式申明每一项,会自动笛卡尔积为新联合类型: type BEM<B extends string, E extends string[], M extends...联合类型,如何从对象或数组生成联合类型字符串模板与联合类型关系。

    53220

    TypeScript学习笔记(四)—— TypeScript提高

    上例中,我们使用 type 定了一个字符串字面量类型 EventNames,它只能取三种字符串一种。 注意,类型别名与字符串字面量类型都是使用 type 进行定义。...7.1、简单例子 首先,我们来实现一个函数 createArray,它可以创建一个指定长度数组,同时将每一项都填充一个默认: function createArray(length: number...result[i] = value; } return result; } createArray(3, 'x'); // ['x', 'x', 'x'] 上例中,我们使用了之前提到过数组来定义返回类型...这段代码编译不会报错,但是一个显而易见缺陷是,它并没有准确定义返回类型: Array 允许数组每一项都为任意类型。...但是我们预期是,数组每一项都应该是输入 value 类型

    2.5K10

    深度讲解TS:这样学TS,迟早进大厂【19】:

    TS系列地址: 21篇文章带你玩转ts # (Generics)是指在定义函数、接口或类时候,不预先指定具体类型,而在使用时候再指定类型一种特性。...简单例子§ 首先,我们来实现一个函数 createArray,它可以创建一个指定长度数组,同时将每一项都填充一个默认: function createArray(length: number, value...result[i] = value; } return result; } createArray(3, 'x'); // ['x', 'x', 'x'] 上例中,我们使用了之前提到过数组来定义返回类型...这段代码编译不会报错,但是一个显而易见缺陷是,它并没有准确定义返回类型: Array 允许数组每一项都为任意类型。但是我们预期是,数组每一项都应该是输入 value 类型。...,需要定义类型

    61330

    TypeScript:得者,得天下

    这篇文章跟大家分享学习ts又一个重难点「」。在ts中,得者,得天下! 1 什么是 整个ts学习,其实就是各种数据类型类型约束学习。...那么问题就来了,不同数组调用map,数组每一项数据类型必然不一样,我们没办法简单使用某一种数据类型来准确约束数组每一项。...,即为更广泛约束类型。 仔细观察下面的三组案例,思考一下如果我们要自己描述Array类型数组map方法应该怎么做?...T作为变量含义为:我们在定义约束条件时,暂时还不知道数组每一项数据类型到底是什么,因此我们只能放一个占位标识在这里,待具体使用时再来明确每一项具体类型。...回调函数callbackfn第一个参数就是数组每一项,正好就是定义数组时传入变量T,不过回调函数会返回一个新数组项,因此我们需要重新定义一个新变量来表达这个新数组,即为U。

    2.8K20

    【TypeScript】超详细笔记式教程!进阶!!【下】

    Name其实就是string别名,类型() => string,一个函数返回一个字符串,这种格式就是类型NameResolver,NameOrResolver是一个联合类型,之前说过。...字符串字面量类型 字符串字面量类型,用来约束取值职能是某几个字符串其中一个字符串,举个: type EventSupport = 'click' | 'scroll' | 'mouseEnter' function...可以利用下标修改,但是必须是相同类型 元组可以越界,越界元素只能是你定义元组时候联合类型,不能是其他类型,越界元素不能修改 .....是指在定义函数、接口、类时候,不预先指定具体类型,而在使用时候再指定类型一种特性。...基本定义 我们实现一个 createArray函数,他可以创建一个指定长度数组,同事将每一项都填充一个默认: function createArray(length: number, value:

    62830

    JS原生引用类型解析2-Array类型

    虽然JS数组和在其他语言中一样,是一个有序列表,但不同是其每一项可以保存不同类型数据,而且其数组大小是可以动态调整。 2..../ 3 console.log(arr[1]); // undefined 会返回一个长度是传入每一项都是undefined数组。...,长度为0 4.2 Array原型对象方法 Array原型对象方法分为四类: 修改器方法 访问方法 迭代方法 方法(已弃用) 4.2.1 修改器方法 修改器方法会改变调用它们对象自身。...4.2.4 方法 方法是非标准,并且已弃用,有可能不久就会移除。 需注意是此方法同时有跨浏览器问题. 但是 Github上有可用shim。...; } 这种方法能够行得通,但不够简洁,JavaScript 1.6 中引入了一个简写形式: if (Array.every(str, isLetter)) { console.log("The

    1.5K20

    【HormonyOS4+NEXT】TypeScript基础语法详解

    前言 TypeScript是一种由微软开发开源编程语言,它是JavaScript一个超集,添加了静态类型、类、接口和等特性。...如果需要数组元素可以是多种类型,可以使用联合类型,例如 (number | string)[] 表示数组元素可以是数字或字符串。...); // 调用greeter函数并打印结果 在 TypeScript 中,(Generics)是一种创建可重用组件方式,这些组件可以处理多种数据类型,而不是单一数据类型。...允许我们定义函数、接口或类,其中类型参数可以在使用这些组件时指定。这使得代码更加灵活和可维护,因为我们可以编写一次代码,然后在多种数据类型上重复使用。...return arg;:函数返回与参数相同,其类型也是 T。 接着,创建了一个 myIdentity 变量,并将 identity 函数赋值给它。这里使用了另一种语法来指定类型参数。

    11710

    TypeScript进阶

    例如:将一个联合类型变量指定为一个更加具体类型(但不能指定为联合类型中不存在类型): // 使用联合类型时,必须使用这些类型共有的属性才行,但使用类型断言使其确定为某一种类型,就没有了此限制。...联合类型使用 | 分隔每个类型,表示可以赋值为其中一种。...**方法一:**使用「类型 + 方括号」来表示数组类型可以是any): let fibonacci: number[] = [1, 1, 2, 3, 5]; //数组只能是number类型 let...list: any[] = ['Xcat Liu', 25]; //数组可以是任意类型 数组项不允许出现其他类型,并且数组一些方法参数也不能出现其他类型,如:push()。...**方法二:**数组: let fibonacci: Array = [1, 1, 2, 3, 5]; 方法三:用接口描述数组: interface NumberArray {

    97920

    精读《Permutation, Flatten, Absolute...》

    'C', 'B'] | ['B', 'A', 'C'] | ['B', 'C', 'A'] | ['C', 'A', 'B'] | ['C', 'B', 'A'] 看到这题立马联想到 TS 对多个联合类型处理是采用分配律...但触发条件必须存在两个,而题目传入只有一个,我们只好创造第二个,使其默认等于第一个: type Permutation 这样对本题来说,会做如下展开: Permutation...Length of String 实现 LengthOfString 返回字符串 T 长度: LengthOfString // 3 破解此题你需要知道一个前提,即 TS 访问数组类型...:递归时如果需要存储临时变量,用默认来存储。...本题我们就用 Result 这个存储打平后结果,每次拿到数组第一个,如果第一个不是数组,则直接存进去继续递归,此时 T 自然是剩余 Rest;如果第一个数组,则将其打平,此时有个精彩地方

    38110

    攀爬TS之路(八)

    攀爬TS之路(八) 是指在定义函数、接口或类时,不预先指定具体类型,而是在使用时候再指定类型一种特性。 简单使用 先来一个简单例子,加深了解。...目标:创建一个函数createArr,实现创建一个指定长度数组。第一个参数是数组,第二个参数是数组每一项。 首先,我们想要实现这个功能,第一时间可能想到是使用任意类型any来实现。...不对劲地方: 数组是any类型 数组元素也都是any类型 但是,我们想要效果应该是无论传什么类型,就得到对应类型。使用就能很简单地实现这种效果。...也可以不手动指定,TS类型推论会自动得到结果。 createArr(4, 1) 多个类型参数 定义时候,可以使用多个不同字母来表示多个类型参数。...在我们使用变量时候,因为不知道该变量是哪种类型(具体是哪种类型只有调用函数后才知道),所以就不能操作它属性和方法。

    24910

    Typescript中extends关键字

    extends Animal { bark(): void; } // Dog => { name: string; bark(): void } 约束 在书写时候,我们往往需要对类型参数作一定限制...P是带参数T类型,其表达式和A1,A2形式完全相同,A3是类型P传入参数'x' | 'y'得到类型,如果将'x' | 'y'带入表达式,可以看到和A2类型形式是完全一样,那是不是说明...如果extends前面的参数是一个类型,当传入该参数联合类型,则使用分配律计算最终结果。...string : number => number 然后将每一项代入得到结果联合起来,得到string | number 总之,满足两个要点即可适用分配律:第一,参数是类型,第二,代入参数联合类型...“keyof A” type A2 = Pick Pick意思是,从接口T中,将联合类型K中涉及到项挑选出来,形成一个新接口,其中K extends

    5.4K132
    领券