首页 > 其他分享 >typescript基础语法补充

typescript基础语法补充

时间:2024-07-30 10:25:54浏览次数:9  
标签:function typescript string 补充 JavaScript number 语法 TypeScript 类型

TypeScript是一种由微软开发的开源编程语言,它是JavaScript的一个超集,增加了静态类型和一些面向对象的特性。下面是对TypeScript的一些关键知识点的总结:

TypeScript的特点

超集: TypeScript完全兼容JavaScript,所有有效的JavaScript代码也是有效的TypeScript代码。

静态类型: TypeScript允许开发者在编写代码时声明变量和函数的类型,从而在编译阶段进行类型检查。

编译: TypeScript代码会被编译成JavaScript,然后在任何支持JavaScript的环境中运行。

面向对象: 支持类、接口、枚举等面向对象编程概念。

基础类型

原始类型: `number`, `string`, `boolean`, `null`, `undefined`, `symbol` (ES6+), `bigint` (ES10+).

复杂类型:

          数组: `number[]` 或 `Array<number>`

         元组: `(string, number)`

          枚举: `enum Color {Red, Green, Blue}`

          任意类型: `any`

          未知类型: `unknown`

          空类型: `void`

          从不类型: `never`

 类型注解和类型推断

        类型注解: 明确指定变量、参数和返回值的类型。

        类型推断: TypeScript可以根据上下文自动推断类型。

类和接口

        类: 定义对象的蓝图。

        构造函数: `constructor() {}`

        成员: `public`, `private`, `protected`

        抽象类: 使用 `abstract` 关键字定义,不能被实例化。

        接口: 描述对象的形状。

        属性: `interface Shape { width: number; height: number; }`

        方法: `interface Shape { draw(): void; }`

        索引签名: `interface StringArray { [index: number]: string; }`

泛型

        泛型类型: `function identity<T>(arg: T): T`

        泛型类: `class GenericNumber<T> { zeroValue: T; }`

函数

        函数类型: `function add(x: number, y: number): number`

        可选参数: `function add(x: number, y?: number): number`

        剩余参数: `function concat(...args: number[]): number[]`

 模块和命名空间

        模块: `import { functionName } from 'moduleName';`

        命名空间: `namespace N { export class C {} }`

类型兼容性和类型断言

        类型兼容性: TypeScript中的类型兼容性规则。

        类型断言: `let someValue: any = "this is a string"; let strLength: number = (someValue as string).length;`

工具和工具链

        TypeScript编译器: `tsc`

        编译选项:

                target: 设置ECMAScript版本。

                module: 指定模块解析策略。

                declaration: 生成`.d.ts`文件。

                watch: 监视模式下运行编译器。

实战案例

        定义组件: 使用接口定义组件的属性和方法。

        状态管理: 使用类和接口来管理组件的状态。

        UI逻辑: 利用函数和类型安全进行UI逻辑的编写。

标签:function,typescript,string,补充,JavaScript,number,语法,TypeScript,类型
From: https://blog.csdn.net/2301_79847249/article/details/140732695

相关文章

  • MySQL 基础语法教程
    MySQL是一个开源的关系型数据库管理系统,它广泛应用于各种网站和应用程序中。本文将介绍MySQL的基础语法,包括数据库和表的创建、数据操作、索引和约束等内容。1.基本概念在MySQL中,数据库用于存储数据,表是数据库中的基本单位。了解这些基本概念是使用MySQL的第一步......
  • [Typescript] handle event.target type in Form
    TheerrorweencounteredinthischallengewasthattheEventTarget|nulltypewasincompatiblewiththerequiredparameteroftypeHTMLFormElement.Theproblemstemsfromthefactthatthesetypesdon'tmatch,andnullisnotpermitted:constdata......
  • 易语言教程——第三章—易语言语法—第三节—循环语句
    啥叫循环?就是一段程序,一遍又一遍地执行。比如说我有一个变量,现在是1,我想每次加1把他加到100。如果不用循环,我是不是得变量=1变量=变量+1变量=变量+1....(省略96次)...变量=变量+1会累死的。怎么办?我们可以这么写,.版本2.支持库spec.程序集窗......
  • Markdown 常用语法
    上一篇简单介绍了Markdown是什么,以及如何使用,本篇就来详细说说Markdown的常见语法。‍注意,并不是所有编辑器,都支持所有的Markdown语法,如果遇到失效的也不必疑惑。此外,不同的编辑器的语法可能有点不同。‍标题语法格式:#一级标题##二级标题###三级标题####四级......
  • [Typescript] Restrict available operations on values using value objects
    ValueObjectsareanotherpatterninDomain-drivenDesignthatprovidemorestructurearoundwhatyoucanandcannotdowithatype.InTypeScriptwecreateValueObjectswithclassesthatwilldefinewhatoperationscanbeperformedtothevalueonthec......
  • 一键语法错误增强工具 ChineseErrorCorrector
    一键语法错误增强工具欢迎使用一键语法错误增强工具,该工具可以进行14种语法错误的增强,不同行业可以根据自己的数据进行错误替换,来训练自己的语法和拼写模型,可以支持的14种不同语法错误增强,分别为:1.缺字漏字2.错别字错误3.缺少标点4.错用标点5.主语不明6.谓语残缺7.宾语残......
  • [Java]基础语法
    注释注释就是程序中对代码进行解释说明的文字生效范围:注释不影响程序执行,因为运行的字节码文件中不保留注释字面量数据在程序中的书写格式称为字面量变量在内存中开辟一块区域,用来存储数据,这块空间称为变量定义变量使用变量变量的优势便于数据的扩展和......
  • Java的基础语法
    Java的基础语法首字母缩写1. 简写含义psvm:publicstaticvoidmain(String[]args){sout:System.out.println("Hello,World!");2.更换注释颜色和字体可分别为多行、文档、单行进行注释,在页面右侧选择bold、italic,点击颜色方框选择自己喜欢的颜色。单行注释//单行......
  • Lua 语法 面向对象实现
    封装--面向对象类其实都是基于table来实现--元表相关的知识点Object={}Object.id=12functionObject:Test() print(self.id)end--冒号是会自动将调用这个函数的对象作为第一个参数传入的写法--在Object表添加new成员方法functionObject:new() --self......
  • Lua 语法 自带库
    时间相关--系统时间print(os.time())--自己传入参数得到时间print(os.time({year=2014,month=8,day=14}))--os.date("*t")localnowTime=os.date("*t")fork,vinpairs(nowTime)do print(k,v)end数学运算--math--绝对值print(math.abs(-11))--弧度转角......