ts使用语法规则

TypeScript(TS)的语法规则主要继承了JavaScript,但由于其提供了静态类型检查以及更丰富的面向对象编程特性,因此在使用上也有一些独特之处。以下是一些TypeScript的基本语法规则:

  1. 变量声明

    TypeScript使用letconstvar来声明变量。其中,letconst是ES6中引入的,提供了块级作用域。const声明的变量是只读的,一旦赋值后就不能再改变。

复制代码

typescript复制代码

|---|----------------------------|
| | let num: number = 10; |
| | const PI: number = 3.14; |

  1. 类型注解

    TypeScript中,可以通过在变量名或函数参数名后面添加冒号:和类型名称来进行类型注解。这有助于在编译时进行类型检查。

复制代码

typescript复制代码

|---|-----------------------------------|
| | let isDone: boolean = false; |
| | let age: number = 25; |
| | let firstName: string = "John"; |

  1. 接口

    接口用于定义对象的类型。它描述了对象应该具有的形状。

复制代码

typescript复制代码

|---|---------------------------------------------------|
| | interface Person { |
| | name: string; |
| | age: number; |
| | greet(): void; |
| | } |
| | |
| | let person: Person = { |
| | name: "Alice", |
| | age: 20, |
| | greet() { |
| | console.log("Hello, my name is " + this.name); |
| | } |
| | }; |

  1. TypeScript支持基于类的面向对象编程。类定义了对象的属性和方法。

复制代码

typescript复制代码

|---|---------------------------------------------------|
| | class Animal { |
| | name: string; |
| | |
| | constructor(name: string) { |
| | this.name = name; |
| | } |
| | |
| | move(): void { |
| | console.log(`${this.name} moves a little.`); |
| | } |
| | } |

  1. 函数

    TypeScript中的函数可以使用类型注解来指定参数和返回值的类型。

复制代码

typescript复制代码

|---|-------------------------------------------|
| | function greet(name: string): string { |
| | return "Hello, " + name; |
| | } |

  1. 访问修饰符

    TypeScript支持使用publicprivateprotected访问修饰符来限制类成员的可访问性。

  2. 枚举

    枚举类型用于定义数值集合。

复制代码

typescript复制代码

|---|------------------------------------|
| | enum Color { Red, Green, Blue } |
| | let c: Color = Color.Green; |

  1. 泛型
    泛型允许在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型。
  2. 三元运算符和条件(三元)类型
    TypeScript 也支持三元运算符,并允许基于条件的类型推断。
  3. 装饰器
    装饰器是一种特殊类型的声明,它可以被附加到类声明,方法,访问符,属性或参数上。装饰器使用@表达式,后面跟一个装饰器函数。
相关推荐
剑神一笑1 小时前
从字符串到时间线:实现一个 Cron 表达式解析器
javascript·typescript·reactjs
We་ct5 小时前
LeetCode 63. 不同路径 II:动态规划解题详解
前端·算法·leetcode·typescript·动态规划
布局呆星5 小时前
Vue3+TS封装Axios请求全攻略
前端·javascript·ajax·typescript
军军君0120 小时前
数字孪生监控大屏实战模板:智能业务大数据监管平台
css·vue.js·elementui·typescript·前端框架·echarts·less
zhensherlock21 小时前
Protocol Launcher 系列:Tally 快速计数器的深度集成
前端·javascript·typescript·node.js·自动化·github·js
深海鱼在掘金1 天前
Next.js从入门到实战保姆级教程(第十四章):性能优化深度实践
前端·typescript·next.js
深海鱼在掘金1 天前
Next.js从入门到实战保姆级教程(第十三章):从原理到实践深度剖析缓存策略
前端·typescript·next.js
谷子熟了1 天前
电商智能客服系统本地搭建
经验分享·docker·typescript·ai编程·llama
zhensherlock1 天前
Protocol Launcher 系列:Working Copy 文件操作与高级命令详解
javascript·git·typescript·node.js·自动化·github·js
深海鱼在掘金2 天前
Next.js从入门到实战保姆级教程(第十一章):错误处理与加载状态
前端·typescript·next.js