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

server/2024/9/25 8:21:06/

表示逻辑值:true 和 false。在JavaScript和TypeScript里叫做boolean

|

| 数组类型 | 无 |

声明变量为数组。

// 在元素类型后面加上[]

let arr: number[] = [1, 2];

// 或者使用数组泛型,Array<元素类型>

let arr: Array = [1, 2];

|

| 元组(Tuple) | 无 |

元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。

let x: [string, number];

x = [‘小陈’, 1]; // 运行正常

x = [1, ‘小陈’]; // 报错

console.log(x[0]); // 输出 小陈

x[3] = ‘world’; // 越界的元素会使用联合类型替代,可以赋值给(string | number)类型

|

| 枚举 | enum |

枚举类型用于定义数值集合,可以为一组数值赋予友好的名字。

enum Color {Red, Green, Blue};

let c: Color = Color.Blue;

console.log©; // 输出 2

let cName: string = Color[2];

console.log(cName); // 输出 Blue

|

| void | void |

用于标识方法返回值的类型,表示该方法没有返回值。

声明一个void类型的变量没什么用,你只能为它赋予undefinednull

function hello(): void {

alert(“Hello”);

}//当一个函数没有返回值时,你通常会见到其返回值类型是 void

|

| null | null |

表示对象值缺失。

|

| undefined | undefined |

用于初始化变量为一个未定义的值

|

| never | never |

never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。

|

这里有个细节就是变量声明 :

const是对let的一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。

二、类型断言


类型断言可以用来手动指定一个值的类型。

语法:<类型>值    或    值 as 类型

var str = ‘1’ //数字或者所有类型都可以

var str2:number = str //str、str2 是 string 类型

console.log(str2) //用完断言打印数字1

注意:断言不被称为类型转换,是因为转换通常意味着某种运行时的支持。但是,类型断言纯粹是一个编译时语法 。

三、typescript接口


TypeScript的核心原则之一是对值所具有的_结构_进行类型检查,接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。

1.我们通过实例介绍:(interface关键字定义接口)

interface A { //定义了一个接口 A

Name:string,

age:number,

sayHi: ()=>string

}

var customer:IPerson = {

Name:“小陈”,

age:21,

sayHi: ():string =>{return “Hi”}

}

console.log("Customer 对象 ")

console.log(customer.Name) //小陈

console.log(customer.age) //21

console.log(customer.sayHi()) //Hi

2.可选属性

可选属性的好处之一是可以对可能存在的属性进行预定义,好处之二是可以捕获引用了不存在的属性时的错误。只需在可选属性名字定义的后面加个?

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

  • 函数的定义

  • 局部变量和全局变量

  • 返回值

  • 匿名函数

  • 自运行函数

  • 闭包

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】


http://www.ppmy.cn/server/20245.html

相关文章

MySQL__索引

文章目录 &#x1f60a; 作者&#xff1a;Lion J &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_69252724 &#x1f389; 主题&#xff1a; MySQL__索引&#xff09; ⏱️ 创作时间&#xff1a;2024年04月23日 ———————————————— 这里写目…

SpringBoot学习之SpringBoot3集成OpenApi(三十八)

Springboot升级到Springboot3以后,就彻底放弃了对之前swagger的支持,转而重新支持最新的OpenApi,今天我们通过一个实例初步看看OpenApi和Swagger之间的区别. 一、POM依赖 我的POM文件如下,仅作参考: <?xml version="1.0" encoding="UTF-8"?>…

盲人咖啡厅导航:科技之光点亮独立生活新里程

在这个繁华的世界中&#xff0c;咖啡厅不仅是人们社交聚会、休闲阅读的场所&#xff0c;更是无数人心灵栖息的一方天地。然而&#xff0c;对于视障群体而言&#xff0c;独自前往这样的公共场所往往面临重重挑战。幸运的是&#xff0c;一款名为蝙蝠避障专为盲人设计的辅助应用&a…

把私有数据接入 LLMs:应用程序轻松集成 | 开源日报 No.236

run-llama/llama_index Stars: 29.9k License: MIT llama_index 是用于 LLM 应用程序的数据框架。 该项目解决了如何最佳地利用私有数据增强 LLMs&#xff0c;并提供以下工具&#xff1a; 提供数据连接器&#xff0c;以摄取现有的数据源和各种格式&#xff08;API、PDF、文档…

Spring boot + Redis + Spring Cache 实现缓存

学习 Redis 的 value 有 5 种常用的数据结构 Redis 存储的是 key-value 结构的数据。key 是字符串类型&#xff0c;value 有 5 种常用的数据结构&#xff1a; Redis 的图形化工具 Another Redis Desktop Manager Spring Data Redis Redis 的 Java 客户端。 Spring Cache Spr…

SpringMVC interceptor有时候配置的时候path=“/**“ 两个星号什么意思,与path=“/“以及path=“/*“什么区别

直接上案例&#xff1a; <mvc:interceptor> <mvc:mapping path"/**"/> <bean class"com.xuyang.interceptor.user.UserAuthInterceptor" /> </mvc:interceptor>/**的意思是所有文件夹及里面的子文件夹 /*是所有文件夹&#xff0c…

MySQL无法打开情况下读取frm文件的表结构

一、背景&#xff1a; 开发人员通过MySQL客户端工具&#xff0c;可以访问MySQL5.7.6&#xff0c;可以访问具体的DB&#xff0c;可以查看小写表的数据&#xff0c;但是无法查看大写表的数据&#xff0c;报错信息为“table does not exist”。 二、检查与分析&#xff1a; ssh登录…

测试下目录显示否

目录 1、安装docker 2、搜索镜像 3、拉取镜像 4、查看镜像列表 5、运行镜像 6、查看运行容器列表 8、命令行连接数据库 1、安装docker 2、搜索镜像 docker search mysql 3、拉取镜像 docker pull mysql 4、查看镜像列表 docker images 5、运行镜像 docker run -p …