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. 装饰器
    装饰器是一种特殊类型的声明,它可以被附加到类声明,方法,访问符,属性或参数上。装饰器使用@表达式,后面跟一个装饰器函数。
相关推荐
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(二十六):icon 组件封装
前端·vue.js·typescript
PBitW12 小时前
为什么vite中TS报错,可以继续运行?Webpack不行?💡
前端·typescript
敖行客 Allthinker13 小时前
前端调试实战:DevTools调试工具 + 二分定位Bug法全总结
前端·typescript·chrome devtools
不瘦80斤不改名14 小时前
HalfCart:基于LBS的1\.5km本地拼单系统全栈实践与踩坑复盘
python·docker·typescript·pycharm
濮水大叔1 天前
在大型 Vue 项目中,如何有效管理复杂的状态?“散装版” vs “套装版”
前端·vue.js·typescript
谷哥的小弟2 天前
TypeScript数组类型
javascript·typescript
退休倒计时2 天前
【每日一题】LeetCode 199. 二叉树的右视图 TypeScript
算法·leetcode·typescript
前端之虎陈随易3 天前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·vue.js·人工智能·typescript·node.js
后台开发者Ethan3 天前
类型分类、联合类型、交叉类型
typescript
鹰影474 天前
一款AI笔记助手和远程同步的markdown笔记idea-note
人工智能·笔记·rust·typescript·react