TypeScript-03-语法基础

简介: 环境都搭好了一直没时间继续往下写疫情期间就在家好好梳理知识吧必须让自己强大起来,才有选择的权利

1.前言


环境都搭好了一直没时间继续往下写

疫情期间就在家好好梳理知识吧

必须让自己强大起来,才有选择的权利


2. 类型基础语法


2.1 基础写法


let str1:string    //类型注解
str1 = "郑州加油"  // 正确
str1 =  4           //错误


2.2 语法分析

变量名:类型

常见的原始类型:string number boolean undefined null symbol

注意小写的类型 ,大写的是构造函数

2.3 报错图示

1B2)10IXXOXK]SCS05N]C~J.png


2.4  报错分析

声明了函数类型就不可以在更改

这就是ts的一大核心特点 强类型


3.类型推断


3.1 基本用法


let var2 = true
var2 = "22"   //  波浪线报错


3.2 报错图示

YPXJCA]{K131S2@_[6G{[IY.png


3.3 错误分析

1.声明变量直接赋值 就属于类型推断

2.赋值的时候,ts会根据变量的初识值类型来推动变量的类型

3.所以后面进行赋值操作,会进行检查,类型不匹配就把错

类型注解每次都得写类型比较麻烦

这个推断比较方便


4. 类型数组的写法


4.1 基本用法


let arr: string[];
arr = ["yzs"]
//arr = ["yzs",30]  报错

4.2数组写法2


let arr1:Array<string>

这种写法比较繁琐,所以个人比较喜欢第一种写法

4.3 报错

(FG76(1UY6NR55GESF${(~J.png


4.4 错误分析

要求数组里面的每一个元素 都是声明的时候指定的类型

这个语法和 c# 和Java是一样的


5.元组 Tuple


在这个TS里面 数组放不同的元素叫做元组,其实也和python的元组一样

5.1用法


let yzs: [string, number, boolean] = ['Yzs', 25, true];
yzs = [20] //报错


5.2 错误

708[GYNP8H6M4_`9R7I4)M1.png


5.3 分析

声明的时候定义了元组里面的不同类型,这个是有顺序的

所以进行赋值操作的时候也必须按照类型顺序赋值,不然报错


6. any 泛型


有时候单独定义数组的类型比较繁琐,而且也不确定会是什么类型, 这个时候可以用 any

any类似 其他语言里面的泛型

6.1 基本用法


let varAny: any;
varAny = "xx"
varAny = 3


6.2 分析

any 就是泛型 就是任意类型

所以赋值什么类型都不会报错

建议少用这个 any,因为这个有违ts强类型的初衷


7. 数组泛型


7.1 基本用法


let arrAny: any;
varAny = [1, true, "yzs"]
varAny[1] = 666


7.2 分析

声明数组的时候使用 any,

数组内的元素就可以写任意类型


8.函数中的类型约束


8.1 基本用法


function greet(person: string): string {
    return 'hello' + person
}


8.2分析

形参的类型语法


(person: string)

1.参数后面:类型

函数返回值的类型

()后面跟:类型

8.3 使用

代码提示

4[Y)]L]KK3B_)6AAG0_]EX7.png


8.4错误提示

CC%T{HZZNTMKJZ[KVXM)DBU.png


8.5 正确提示

8I4MB64CBW}YQ~F@$@O9OS8.png


8.6 代码提示

这就是所谓的代码提示,怎么来的

这就是vscode 用ts编写的原因

这就是 ts 之前其实经常用的意思


9.void 类型 没有返回值的函数


9.1基本用法


function warn(): void { }


9.2 提示

WZ7S@4YAO{WVA%F}]3(69YO.png


9.3 void

在其他语言里面就代表无返回值


10. 形参默认值


= 默认值 和以前没区别


function greet(person: string, sex = 1): string {
    return 'hello' + person
}



11. 可选参数


? 代表可选


function greet(person: string, sex = 1, age?: number): string {
    return 'hello' + person
}




相关文章
|
6月前
|
XML JavaScript 前端开发
TypeScript 中的“as”语法是什么?
TypeScript 中的“as”语法是什么?
|
6月前
|
JavaScript
详细介绍 TypeScript 中常用的循环语句,包括它们的语法、用法以及一些注意事项
详细介绍 TypeScript 中常用的循环语句,包括它们的语法、用法以及一些注意事项
180 1
|
6月前
|
JavaScript 前端开发 开发者
深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性
深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性
614 0
|
29天前
|
JavaScript 前端开发 安全
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
【10月更文挑战第12天】TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
82 0
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
|
4月前
|
存储 JavaScript 开发者
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(四)
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(四)
48 0
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(四)
|
4月前
|
JavaScript API 网络架构
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(三)
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(三)
47 0
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(三)
|
4月前
|
JavaScript API
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(二)
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(二)
40 0
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(二)
|
4月前
|
JavaScript API UED
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(五)
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(五)
48 0
|
4月前
|
JavaScript 前端开发 API
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(一)
【Vue3+TypeScript】CRM系统项目搭建之 — 关于 VUE3 语法新变化(一)
51 0
|
6月前
|
JavaScript 编译器 开发者
TypeScript中的“as”语法是什么?
TypeScript中的“as”语法是什么?
39 0