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

【OpenHarmony】TypeScript 语法 ② ( 基础数据类型 | 布尔类型 | 数字类型 | 字符串类型 | 数组类型 | 元组类型 | 枚举类型 | 未知类型 | 联合类型 )

基础数据类型 ; 1、布尔类型 TypeScript 布尔类型 使用 " boolean " 表示 , 取值 true false ; 代码示例 : // 声明 布尔类型 变量 let...is : number" 8、返回类型 TypeScript 类型 使用 void 表示 , 通常用于描述 函数返回 , 当函数没有返回时候 , 就会返回 void 类型 ; 代码示例...]: "nullVar : null , type : object" 10、未定义类型 TypeScript undefined 类型 表示一个未定义类型 , 声明了变量 没有定义其类型 也...TypeScript 代码 : [LOG]: "undefinedVar : undefined , type : undefined" 11、联合类型 TypeScript 联合类型 类似于...C 语言中 union 联合体 , 变量类型是多个类型一种 ; 代码示例 : // union 联合类型 let unionVar: number|boolean|string = true

13310

TypeScript 基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型联合类型

TypeScript 是一种由微软开发静态类型编程语言,它是 JavaScript 超集,并且可以在编译时进行类型检查。...TypeScript 强大类型系统使得开发者能够更轻松地编写可维护、可扩展代码。本文将详细介绍 TypeScript 基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型联合类型。...原始类型TypeScript ,有以下几种原始类型:数字类型数字类型用于表示整数浮点数。可以使用 number 关键字来声明数字变量。...例如:let str: string = "Hello";布尔类型布尔类型用于表示逻辑,即 true false。可以使用 boolean 关键字来声明布尔变量。...例如:let isTrue: boolean = true;空未定义类型类型 (void) 用于表示没有返回函数。未定义类型 (undefined) 用于表示未赋值变量。

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

TypeScript 演化史 — 第八章】字面量类型扩展 和 无类型导入

这是因为数组类型没有对索引 0 处 "http" 和索引 1 处 "https" 进行编码。它只是声明该数组包含两个字面量类型,不管在哪个位置。...缺点是,不会得到任何自动完成建议细粒度类型检查,因为编译器对模块其导出一无所知。 如果过后提供类型声明,例如通过 npm 类型声明包,它们将优先于默认任何类型。...} } 更好地检查表达式操作数 null/undefined 在TypeScript 2.2,空检查得到了进一步改进。TypeScript 现在将带有可空操作数表达式标记为编译时错误。...nullundefined或者包含nullundefined联合类型,则操作数视为可空。...注意:包含nullundefined联合类型只会出现在--strictNullChecks模式,因为常规类型检查模式下null和undefined在联合类型是不存在

4.5K10

TypeScript 学习笔记(一)

(.js),可通过 tsconfig.json 文件配置 tsc demo.ts 基础类型 布尔 let isDone: boolean = false; 注意,使用构造函数 Boolean 创造对象不是布尔...任意 any let anyType:any = 'seven'; anyType = 7; 在任意上访问任何属性和方法都是允许,即不做类型检查 let anyType:any = '...= 'string'; arr[3] = 40; arr[4] = true; // 编译报错 枚举 enum 枚举类型用于取值被限定在一定范围内场景,如一周有7天,一年有4季等。...不确定一个联合类型变量到底是哪个类型时候, 我们只能访问此联合类型所有类型里共有的属性方法 function getString(something: string | number): string...public private 私有属性方法,不能在声明它外部访问,也不可以在子类访问 protected 受保护属性方法,它和 private 类似,区别是它可以在子类访问 class

2.7K10

以淘宝店铺为例,谈谈 TypeScript ESLint 规则集考量

为什么:逻辑 || 会将 0 与 "" 视为 false 而导致错误应用默认,而可选链相比于逻辑与 && 则能够带来更简洁语法(尤其是在属性访问嵌套多层,来自于一个函数时, document.querySelector...此规则本质是检查经过断言后类型子集是否仅剔除了空部分,因此无需担心对于多种有实际意义类型分支联合类型误判。...严格约束 no-unnecessary-boolean-literal-compare 不允许对布尔类型变量与 true / false === 比较,: declare const someCondition...} } ] } 接口在类型编程作用非常局限,仅支持 extends、泛 等简单能力,也应当被用于定义确定结构体。...联合类型变量每一条类型分支可能都需要特殊处理逻辑。

2.7K30

TypeScript 演化史 -- 10】更好检查 和 混合类

更好地检查表达式操作数 null/undefined 在TypeScript 2.2,空检查得到了进一步改进。TypeScript 现在将带有可空操作数表达式标记为编译时错误。...如果max是 undefined,那么 <= max 永远都为false。在这种情况下,isValidPasswordLength将永远不会返回true。...nullundefined或者包含nullundefined联合类型,则操作数视为可空。...注意:包含nullundefined联合类型只会出现在--strictNullChecks模式,因为常规类型检查模式下null和undefined在联合类型是不存在。...编译器可以类型检查所有的使用,并在自动完成列表建议可用成员: 与类继承进行对比,有个区别:一个类只能有一个基类。继承多个基类在 JS 不行,因此在 TypeScript也不行。

2.7K20

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

它对于确保在使用配置对象或在组件函数之间传递数据等场景不变性特别有用。 11、TypeScript 可区分联合有什么用处?...另一方面, === 是一个严格相等运算符,它检查类型,使其在类型敏感上下文中更安全、更可预测。 15、如何在 TypeScript 声明只读数组,以及为什么要使用它?...答案:TypeScript never 类型表示永远不会出现。它通常用于不返回函数 - 例如,那些总是抛出异常具有无限循环函数。...,它允许读取位于连接对象链深处属性,而无需检查每个引用是否有效。如果任何引用为 null 未定义,则表达式会与未定义短路。 空合并运算符 (??)...是一个逻辑运算符,当其左侧操作数为空未定义时返回其右侧操作数,否则返回其左侧操作数。这在您想要回退到默认情况下非常有用。 22、什么是映射类型,以及如何在 TypeScript 中使用它们?

58130

TypeScript 中使用类型守卫 5 种方式,你都知道吗

类型守卫是一种TypeScript技术,用于获取变量类型信息,通常使用在条件块语句中。类型守卫是返回布尔常规函数,接受一个类型并告诉TypeScript是否可以缩小到更具体类型。...instanceof 类型守卫 Instanceof是一个内置类型守卫,可用于检查一个是否是给定构造函数实例。...它通常返回一个布尔,表示该属性是否存在于该对象。它用于其缩小范围,以及检查浏览器支持。...in基本语法如下: propertyName in objectName 在下面的例子,in 检查 house 属性是否存在。如果存在,则返回布尔true,如果不存在,则返回false。...console.log(isNecklace(Necklace)) //Logs true 在上面的代码类型谓词b是Necklace,这会让TypeScript类型缩减为Necklace,而不是返回一个布尔

2K30

何在TypeScript中使用类型保护

类型保护是一种TypeScript技术,用于获取变量类型信息,通常使用在条件块语句中。类型守卫是返回布尔常规函数,接受一个类型并告诉TypeScript是否可以缩小到更具体类型。...instanceof 类型保护 Instanceof是一个内置类型保护器,可用于检查一个是否是给定构造函数实例。...它通常返回一个布尔,表示该属性是否存在于该对象。它用于其缩小范围,以及检查浏览器支持。...如果存在,则返回布尔true,如果不存在,则返回false。...console.log(isNecklace(Necklace)) //Logs true 在上面的代码类型谓词b是Necklace,这会让TypeScript类型缩减为Necklace,而不是返回一个布尔

18010

Typescript学习笔记,从入门到精通,持续记录

基础入门 Typescript可以理解为带静态类型Javascript; 小贴士 Ts同样有着先声明后赋值、声明同时赋值这些操作; 1.原始数据类型 布尔,boolean...声明同时赋值*/ let b: string = "aaa"; /*类型推论*/ let c = false; c = 1; //报错,类型推论得出c为布尔 类型推论 TypeScript...当 TypeScript 不确定一个联合类型变量到底是哪个类型时候,我们只能访问此联合类型所有类型里共有的属性方法 function getLength(something: string |...这个特性大大提高了面向对象灵活性。 6.泛(Generics)是指在定义函数、接口时候,不预先指定具体类型,而在使用时候再指定类型一种特性。...: true, // 不允许this有隐式any类型 "noUnusedLocals": true, // 检查声明、未使用局部变量(提示不报错) "noUnusedParameters

1.9K50

深入学习下 TypeScript

您还可以使用类型来创建原始类型(例如字符串和布尔别名,这是接口无法做到TypeScript 接口是表示类型结构强大方法。...该对象将具有与模型相同属性,但类型设置为布尔。在一个字段传递 true 意味着您希望它被返回,而 false 则意味着您希望它被省略。...true : false; 在此代码,您正在创建一个名为 IsStringType 新泛类型,它接收单个类型参数 T。...TypeScript 仅适用于类型,因此请确保始终将类型声明标识符读取为类型,而不是。在此代码,您使用每个布尔的确切类型truefalse。...如果检查 ResultA 和 ResultB 结果类型,您会注意到 ResultA 类型设置为准确类型 true,而 ResultB 类型设置为 false

38.8K30

TypeScript入门第一天,所有类型+基础用法+接口使用

let name: string = "小陈";let words: string = `您好${ name }`; 布尔类型 boolean 表示逻辑truefalse。...undefined undefined 用于初始化变量为一个未定义 never never never 是其它类型(包括 null 和 undefined)类型,代表从不会出现。...语法:        as 类型 var str = '1' //数字或者所有类型都可以 var str2:number = str //str、str2...三、typescript接口 TypeScript核心原则之一是对所具有的结构进行类型检查,接口是一系列抽象方法声明,是一些方法特征集合,这些方法都应该是抽象,需要由具体类去实现,然后第三方就可以通过这组抽象方法调用...: number; } //函数传入参数对象只有部分属性赋值了,这里给接口来定义color赋值了 function createSquare(config: SquareConfig

61400

TypeScript 基础类型

TypeScript 基础类型 TypeScript 包含数据类型如下表: 数据类型 关键字 描述 任意类型 any 声明为 any 变量可以赋予任意类型。...boolean 表示逻辑truefalse。 ...undefined undefined 用于初始化变量为一个未定义 never never never 是其它类型(包括 null 和 undefined)类型,代表从不会出现。...; // 字符串类型 x = false; // 布尔类型 改写现有代码时,任意允许在编译时可选择地包含移除类型检查,示例代码如下: let x: any = 4; x.ifItExists...而在TypeScript启用严格空校验(--strictNullChecks)特性,就可以使得null 和 undefined 只能被赋值给 void 本身对应类型,示例代码如下: // 启用

60010

TypeScript学习笔记(二)—— TypeScript基础

boolean truefalse 布尔truefalse 字面量 其本身 限制变量就是该字面量 any * 任意类型 unknown * 类型安全any void 空(undefined...原始数据类型包括:布尔、数值、字符串、null、undefined 以及 ES6 类型 Symbol。 本节主要介绍前五种原始数据类型TypeScript 应用。...2.1、布尔 布尔是最基础数据类型,在 TypeScript ,使用 boolean 定义布尔类型: let isDone: boolean = false; // 编译通过 // 后面约定...5.2、访问联合类型属性方法 当 TypeScript 不确定一个联合类型变量到底是哪个类型时候,我们只能访问此联合类型所有类型里共有的属性方法: function getLength(something...9.2、类型断言用途 类型断言常见用途有以下几种: 9.2.1、将一个联合类型断言为其中一个类型 之前提到过,当 TypeScript 不确定一个联合类型变量到底是哪个类型时候,我们只能访问此联合类型所有类型中共有的属性方法

5K20

何在 TypeScript 中使用函数

要在 macOS Ubuntu 18.04 上安装,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境何在 Ubuntu 18.04 上安装 Node.js 使用 PPA 安装部分步骤进行操作...我们正在使用联合类型 User | null 作为 Promise 泛类型参数。...在 JavaScript ,这通常是通过有一个参数来完成,该参数可以采用不同类型字符串数字。将多个实现设置为相同函数名称称为函数重载。...有条件地向数组添加值时一项常见任务是检查某些条件,然后,仅在条件为真时才添加值。如果该不为真,则代码向数组添加一个假布尔。...当使用调用时,布尔构造函数返回 true false,具体取决于此是 Truthy 还是 Falsy

14.9K10

检查JavaScript文件_TypeScript笔记18

写在前面 TypeScript 类型检查不仅限于.ts,还支持.js 但为了确保文件内容含有标准 JavaScript 代码,.js文件按照 ES 语法规范来检查,因而不允许出现 TypeScript...} method2() { this.methodOnly = true; } } class声明所有属性赋值都会作为(类实例)类型推断依据,所以上例C类实例类型为: // TypeScript...对于没在构造函数定义,或者构造函数类型为undefinednull(此时为any)属性,其类型为所有赋值右侧类型联合 定义在构造函数属性都认为是一定存在,其它地方(成员方法)出现都当作可选...类声明未出现属性都是未定义,访问就报错 构造函数等价于类 另外,在 ES6 之前,JavaScript 里用构造函数代替类,TypeScript 类型系统也能够“理解”这种模式(构造函数等价于...null、undefined变量、参数属性都视为any类型,初始为[]则视为any[]类型,例如: // .js function Foo(i = null) { // i 类型为 any

2.4K50

TypeScript 初学者入门学习笔记(一)

TS 只会在编译时对类型进行静态检查发现有错误,编译时就会报错。而在运行时,与普通 JavaScript 文件一样,不会对类型进行检查。...TypeScript 特性 类型系统按照类型检查时机分类,可以分为动态类型和静态类型。...虽然 TS 不限制加号两侧类型,但是可以借助类型系统,以及 ESLint 代码检查,来限制加号两侧必须同为数字同为字符串。...2、原始数据类型基本使用 布尔、数值、字符串、null、undefined,为变量指定类型,且变量值需与类型一致 let flag: boolean = false let num: number =...访问联合类型属性方法:当不确定一个联合类型变量到底是哪个类型时,只能访问此联合类型中所有类型共有的属性方法: function getLength(something: st ring | number

1.8K20
领券