Typescript语法

常量声明

let用于声明变量,而const用于声明常量。两者的区别是变量在赋值后可以修改,而常量在赋值后便不能修改。

const b:number = 200;

类型判断

如果一个变量或常量的声明包含了初始值,TS便可以根据初始值进行类型判断,此时我们就可以不显示指定其类型。

let c = 50;
console.log(typeof c);

常用的数据类型

number

number表示数字、整数和浮点数,例如:100、-33、2.5、-3.9

let a:number = 100;
let b:number = -33;
let c:number = 2.5;
let d:number = -3.9;

string

string表示字符串

let a:string = '你好';
let b:string = 'hello';

boolean

boolean表示布尔值,可选为:true、false

let isOpen:boolean = true
let isDone:boolean = false

数组

let a: number[] = []
let b: string[] = ['你好','hello']

对象

在TS中,对象(object)是⼀种⼀系列由属性名称和属性值组成的数据结构,例如 姓名 :' 张三 ',
:10, 性别 :' ' 。对象类型的声明需要包含所有属性的名称及类型,例如 {name: string,
age: number, gender: string} ,对象类型的变量可以通过对象字⾯量⸺ {name:'
', age:10, gender:' '} 进⾏初始化。
let person: {name:string, age:number, gender:string} = {name:'张三', age:10,
gender: '男'};

函数

function sum(a: number, b:number): number {return a + b;
}

一定要注意格式

特殊语法
可选参数
可选参数通过参数名后的 进行标识,如以下案例的 gender? 参数
function getPersonInfo(name: string, age:number, gender?: string): string {if (gender === undefined) {gender = '未知'}return `name:${name},age:${age},gender:${gender}`;}let p1 = getPersonInfo('zhangsan',10,'男');
let p2 = getPersonInfo('list', 15);console.log(p1);
console.log(p2);
注:调⽤函数时,未传递可选参数,则该参数的值为 undefined
默认参数
可在函数的参数列表为参数指定默认值,如以下案例中的 gender: string=' 未知 ' 参数。

function getPersonInfo(name: string, age: number, gender: string='未知'): string 
{return `name:${name},age:${age},gender:${gender}`;}let p1 = getPersonInfo('zhangsan',10,'男');
let p2 = getPersonInfo('lisa',15);console.log(p1);
console.log(p2);
联合类型
⼀个函数可能⽤于处理不同类型的值,这种情况可以使⽤联合类型,例如以下案例中的 message:
number | string
function printNumberOrString(message: number | string) {console.log(message)
}printNumberOrString('a')
printNumberOrString(1)

任意类型

若函数需要处理任意类型的值,则可以使⽤ any 类型,例如以下案例中的 message: any

function print(message:any) {console.log(message)
}    print('a')
print(1)
print(true)

返回值详解

特殊类型
若函数没有返回值,则可以使⽤ void 作为返回值类型,其含义为空。
function test(): void {console.log('hello');
}
类型推断
函数的返回值类型可根据函数内容推断出来,因此可以省略不写

function test() {console.log('hello');
}function sum(a: number, b:number) {return a + b;
}
函数声明特殊语法
匿名函数
匿名函数的语法结构简洁,特别适⽤于简单且仅需⼀次性使⽤的场景。

let numbers: number[] = [1,2,3,4,5]
numbers.forEach(function(number) {console.log(number);
}
)
箭头函数
匿名函数的语法还可以进⼀步的简化,只保留参数列表和函数体两个核⼼部分,两者⽤ => 符号连
接。
let numbers: number[] = [1,2,3,4,5]
numbers.forEach((num) => { console.log(num) })

类(class)

概述

类(class)是⾯向对象编程语⾔中的⼀个重要概念。
⾯向对象编程(Object-Oriented Programming,简称OOP)是⼀种编程范式,其核⼼理念在于将程 序中的数据与操作数据的⽅法有机地组织成对象,从⽽使程序结构更加模块化和易于理解。通过对象之间的协同合作,实现更为复杂的程序功能。类(class)是对象的蓝图或模板,它定义了对象的属性(数据)和⾏为(⽅法)。通过类可以创建多个具有相似结构和⾏为的对象。例如定义⼀个 Person 类,其对象可以有 张三 、 李四 等等

对象创建语法

创建对象的关键字为 new ,具体语法如下

let person = new Person(1, 'zhangsan');

对象属性的访问

console.log(person.name);     //读person.name = 'lisa'   //写console.log(person.name)

对象⽅法的调⽤

对象创建后,便可通过对象调⽤类中声明的⽅法,如下

let intro = person.introduce();
console.log(intro);
静态成员
Typescript 中的类中可以包含静态成员(静态属性和静态⽅法),静态成员⾪属于类本⾝,⽽不属于某个对象实例。静态成员通⽤⽤于定义⼀些常量,或者⼯具⽅法。

声明静态成员
class Constants {static count:number = 1;
}class Utils {static toLowerCase(str:string) {return str.toLowerCase();}
}console.log(Constants.count);
console.log(Utils.toLowerCase('Hello World'));//使用静态成员无需通过对象实例访问,直接通过类本身访问即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有限元分析

TOC在这里插入代码片 **应力挤压时的横截面内部力 剪应力:应力的相反力 法向力:施加的压力 与应力垂直 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解…

STM32入门学习之DMA

1.直接存储访问DMA(Direct Memory Access):DMA传输不需要CPU的参与,直接在内存和I/O设备间开辟了一条新的数据传输通道,不仅提高数据传输的速率,还因为不需要CPU的干预,从而提高了CPU的利用率。(注:文中的资…

小红书API接口封装 | 根据笔记链接采集笔记详情,含正文内容、发布时间、转评赞藏等

一、背景介绍 1.1 爬取目标 用python开发的爬虫采集软件,可自动按笔记链接抓取笔记的详情数据。 为什么有了源码还开发界面软件呢?方便不懂编程代码的小白用户使用,无需安装python,无需改代码,双击打开即用&#xf…

零基础学习数据库SQL语句之操作表中数据的DML语句

我们的数据库是根据页面原型和相关需求完成相关开发的 在表中添加数据 删除数据 修改数据 添加数据 页面模型 当点击保存的时候就能将表单数据提交到服务端 服务端将数据添加到数据库 我们要用insert语句 将数据添加到数据库中 代码演示 CREATE DATABASE Dduo; USE Dduo…

在2-3-4树上实现连接与分裂操作的算法与实现

在2-3-4树上实现连接与分裂操作的算法与实现 引言1. 维护2-3-4树结点的高度属性伪代码示例 2. 实现连接操作伪代码示例 3. 证明简单路径p的划分性质4. 实现分裂操作伪代码示例 C代码示例结论 引言 2-3-4树是一种平衡搜索树,它保证了树的高度被有效控制,…

git学习指南

文章目录 一.版本控制1.认识版本控制2.版本控制功能3.集中式版本控制4.分布式版本控制 二.Git的环境安装搭建1.Git的安装2.Git配置分类3.Git配置选项 三.Git初始化本地仓库1. git init/git clone-获取Git仓库2. 本地仓库文件的划分3. git status-检测文件的状态4. git add-文件…

【Redis面试题】Redis常见的一些高频面试题

分享几个Redis入门级常见面试过程中遇到的题目! 你项目中哪里使用到了redis?可以讲一讲嘛 这个题目无论是大公司还是小公司都经常考,建议大家根据自己的项目做总结 redis的几种基础数据结构 redis为什么那么快? 1.基于内存实现:我们都知道内存读写是…

【neteq】tgcall的调用、neteq的创建及接收侧统计

G:\CDN\P2P-DEV\Libraries\tg_owt\src\call\call.cc基本是按照原生webrtc的来的:G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.cpptg对neteq的使用 worker 线程创建call Call的config需要neteqfactory Call::CreateAu…

STM32单片机实战开发笔记-EXIT外部中断检测

嵌入式单片机开发实战例程合集: 链接:https://pan.baidu.com/s/11av8rV45dtHO0EHf8e_Q0Q?pwd28ab 提取码:28ab EXIT模块测试 功能描述 外部中断/事件控制器由19个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型&a…

【C++】学习笔记——string_5

文章目录 六、string类7. string类的模拟实现8. string类的模拟实现的完整代码string.h头文件test.c源文件 9. string收尾写时拷贝 未完待续 六、string类 7. string类的模拟实现 我们之前讲了实现 insert ,但是那个插入函数仅仅是在 pos 位置插入一个字符而且&am…

二、nodejs连接数据库实现登录功能

// 数据库下载可以用这个 DBeaver安装与使用教程(超详细安装与使用教程),好用免费的数据库管理工具_dbeaver使用教程-CSDN博客 模块化 (1)新建一个叫Dao的文件夹,存接数据库代码 // 参考数据库 &#xf…

自动驾驶-第02课软件环境基础(ROSCMake)

1. 什么是ros 2. 为什么使用ros 3. ROS通信 3.1 Catkin编译系统

prometheus的安装与部署及其有点

一、Prometheus 的优点 1、非常少的外部依赖,安装使用超简单; 2、已经有非常多的系统集成 例如:docker HAProxy Nginx JMX等等; 3、服务自动化发现; 4、直接集成到代码; 5、设计思想是按照分布式、微服…

Flutter笔记:Widgets Easier组件库(10)快速处理承若型对话

Flutter笔记 使用Widgets Easier组件库快速处理承若型对话 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://…

小程序账号设置以及request请求的封装

一般开发在小程序时,都会有测试版和正式版,这样在开发时会比较方便。 在开发时。产品经理都会给到测试账号和正式账号,后端给的接口也都会有测试环境用到的接口和正式环境用到的接口。 这里讲一讲我这边如何去做的。 1.在更目录随便命名一…

一机游领航旅游智慧化浪潮:借助前沿智能设备,革新旅游服务效率,构建高效便捷、生态友好的旅游服务新纪元,开启智慧旅游新时代

目录 一、引言 二、一机游的定义与特点 (一)一机游的定义 (二)一机游的特点 三、智能设备在旅游服务中的应用 (一)旅游前的信息查询与预订支付 (二)旅游中的导航导览与互动体…

MATLAB中功率谱密度计算pwelch函数使用详解

MATLAB中功率谱密度计算pwelch函数使用详解 目录 前言 一、pwelch函数简介 二、pwelch函数参数说明 三、pxx pwelch(x)示例 四、[pxx,f]pwelch(x,window,noverlap,nfft,fs)示例 四、[pxx,f] pwelch(x,window,noverlap,nfft,fs,freqrange,spectrumtype)示例 五、多通道功…

Springboot(SSM)项目实现数据脱敏

目录 一、引入hutool的依赖 二、sql脚本 三、自定义注解代码 3.1 自定义注解 3.2 自定义一个枚举,用于定义脱敏的类型 3.3 序列化 四、使用脱敏注解 4.1 Person.java 4.2 controller 4.3 dao 五、源代码参考 一、引入hutool的依赖 <dependency><groupId>…

FIFO Generate IP核使用——Native读写接口信号详解

Native FIFO接口信号是用于FIFO IP核与外部电路进行通信的信号。当FIFO支持独立的写和读时钟时&#xff0c;这些信号可以包括标准端口和可选端口。 1 当FIFO具有独立时钟时的接口信号 当FIFO具有独立的时钟时&#xff0c;其接口信号会相应地有所变化。特别是关于复位信号rst…

计算机等级考试2级(Python)知识点整理

计算机等级考试2级&#xff08;Python&#xff09;知识点整理 1.基础知识点&#xff08;记忆、理解&#xff09; 第1讲Python概述 01. 源代码 02. 目标代码 03. 编译和解释 04. 程序的基本编写方法 第2讲 Python语言基础&#xff08;一&#xff09; 01. 用缩进表示代码…