TypeScript(笔记版)

简介:

nvm安装必须先把自己的node卸了,再去安装nvm

TS就是js的超集

对js进行了扩展

浏览器不支持ts,要转换为js才可以。

ts是用来编程人员爽的

js的写法拿到ts也可以,ts代码量更大,但ts代码更加清晰

可以在playground上在线编写,只是学一学,不想本地搞。

本地搭建环境,vscode,安装插件Code Runner,这个插件可以运行很多语言,还要安装ts-node。

要预先准备好node环境,这个还是简单

ts声明变量

定义变量的关键字    变量名称 :变量的数据类型 = 变量值

比如

let b:number =100

声明常量

let用于声明变量,const用于声明常量

const b:number =100

类型的推断

ts支持类型自动推断,就是可以不用谢变量的数据类型

直接 let c = 69 

常用数据类型

num  数字,正数,小数都是它

string

boolean

数组:元素类型[]

let arr:String[] =["123","321"];

对象,object

这是js的

let person={

name:“zs”,

age:23,

set:false

}

这是ts的,感觉比js麻烦,严格要求。

let person:{name:string,age:number}={

name:'zs',

age:23

}

函数也是,变得更加复杂了

同样也是要注明类型学

参数要描述,返回值也要描述

function sum(a:number,b:number):number(){

return a-b;

}

不但要描述参数,还要注明返回值类型,感觉挺麻烦的

:${name} 

:${age} 

相当于绑定数据?

特殊语法

可选参数,在形式参数后面添加?号

可以在参数中加上=号,默认传参,添加默认值

联合类型:同时支持多种类型  (message:number|string),数字和字符串都可以,使用竖线把多个类型隔开。

任意类型:方法函数不做限制,使用关键字any

特殊类型:返回为空,void,妈呀,这应该知道吧。

类型推断:函数返回值类型可以根据函数内容推断出来

匿名函数,适用于一次性使用,结构简单,没有名字?类似于lamda表达式写法

可以使用lamda表达式简化

箭头函数省略

又开始面向对象的学习

面向对象简称oop,介绍都是懂得噻

语法

居然有构造器,里面也可以有普通方法

和java没多大区别,构造器有点不一样,它的构造方法就叫做construct

对象创建

和java差不多,new个对象

访问就是类 .(点)方法

对于学过java的嗯来说,完全没什么难度了

属性的访问,点属性名就可以了。

居然还有静态成员和java差不多了

加上static,这个和java一样,类名点

继承,extend那不是和java一样吗,supper调用父类,this关键字访问继承自父类的属性和方法。

子类构造要子类调用父类的构造方法,supper是不能访问属性,用this访问,父类赋予子类的变量?

访问权限修饰符

private,public,protected

接口(interfere)

一种规范让类去遵守

接口实现

ts接口的特殊性

接口非常灵活,也常用于直接描述对象。

枚举

上下左右,春夏秋冬,看待成为其中一个对象。还是和java差不多

泛型

无法确定具体要使用的具体类型,此时泛型能够发挥作用

还有几种,太无聊了,走神了,TS太像java了,很难集中注意力,没有新意

模块化

就导入导出那些,其实不是很陌生。名字冲突,as一下

默认导入导出,一个文件最多有一个默认导出项,类似于vue那个default export,可以无需关注导入项的名称。

支持导出匿名内容,比如匿名函数,比如vue那个,导出个对象?内容要求不是特别严格。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数显胎压计方案采用SIC8632主控芯片

汽车作为现代出行的重要工具,极大地提升了人们的出行效率。随着生活品质的提升,越来越多的家庭拥有了私家车。然而,对于车主而言,掌握驾驶技巧只是基础,了解如何正确检测汽车胎压同样至关重要。胎压计,即气…

年化16.6%,全球大类资产使用lightGBM预测轮动——数据缓存提升效率

原创文章第568篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 Dataloader缓存 加载160个因子,10几支大类资产,这个计算还是需要一点时间,尤其在我们频繁运行的时候,需要等待,这里我们…

深入分析 Android BroadcastReceiver (六)

文章目录 深入分析 Android BroadcastReceiver (六)1. 广播机制的高级优化策略1.1 使用 Sticky Broadcast(粘性广播)示例:粘性广播(过时,不推荐) 1.2 使用 LiveData 和 ViewModel 进行组件通信示例&#xf…

dockercompose部署redis哨兵模式并集成springboot

第一步 编写compose文件 docker-compose.yml version: 3.8networks:redis-network:driver: bridgeservices:redis-master:image: redis:7.2.4container_name: redis-mastercommand: ["sh", "-c", "redis-server --protected-mode no --slave-announ…

[leetcode hot 150]第十一题,盛水最多的容器

题目: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾…

基于Java实验室课程管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

小米录屏怎么录?教你2种方法轻松录屏

“最近新换的小米手机,但不知道怎样打开小米手机的录屏功能啊?而且有没有办法能录制到手机的高清画面啊?谁能教教我啊?” 随着科技的飞速发展,录屏功能逐渐成为我们手机使用中不可或缺的一部分。在众多录屏工具中&…

冲上热搜!太“上头”!除了这碗粉,它还坐拥“全球第一”!

千年前,唐代诗人柳宗元便与柳州结下不解之缘,通晓医理的他,竟然是螺蛳粉的初代“推广大使”;如今,柳州螺蛳粉全产业链一年狂揽近670亿元,还走出了国际范儿。 百年前,斜阳路的电灯点亮这座城市的…

oracle报错-ORA-12638:身份证明检索失败

navicat16连接本地oracle数据库成功后,连接远程数据库,同样是oracle11g,确认网络、用户名、密码都没问题的情况下,报错ora-12638。 解决方法: 这是由于Oracle的认证方式使用了本地操作系统认证(NTS&#x…

SpringBoot-配置文件中使用随机值和使用变量

1、配置文件中使用随机值 2.在配置文件使用引用变量 如果没定义还可以设置默认值

2024届应届生突破1179万人,如何瞄准AI行业,获得高薪职业前景

应届生如何开启AI行业的职业生涯? ©作者|Zhongmei 来源|神州问学 引言 人工智能和数据科学几乎可以在任何产生数据的场合中发挥作用,因为它们开辟了一种全新的范式——让机器能够从数据中提炼出知识。自2011年人工智能走出实验室的门槛&#xff0c…

48-5 内网渗透 - JuicyPotato、Pipe Potato提权

Juicy Potato Juicy Potato 与 Rotten Potato(烂土豆) 的原理几乎完全相同,只是在后者的基础上做了扩展,以便更灵活地利用 Rotten Potato。Juicy Potato 不再像 Rotten Potato 那样依赖于一个现有的 Meterpreter,并且可以自定义 COM 对象加载的端口,以及根据系统版本更换…

春招面试面经总结篇

目录 前言一,算法篇1.1 平拍数组1.2 括号匹配1.3 打家劫舍1.4 删除最少使字符串平衡1.5 爬楼梯 二,数据结构篇2.1 二叉树2.2 链表 三,HTML篇3.1 H5新的语义标签3.2 href和src 四,CSS篇4.1 居中4.2 父元素塌陷解决4.3 外边距塌陷4.…

神经网络 #数据挖掘 #Python

神经网络是一种受生物神经元系统启发的人工计算模型,用于模仿人脑的学习和决策过程。它由大量互相连接的节点(称为神经元)组成,这些节点处理和传递信息。神经网络通常包含输入层、隐藏层(可有多个)和输出层…

基于SpringBoot的实习管理系统设计与实现

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言: Java 数据库: MySQL 技术: SpringBoot框架,B/S模式 工具: MyEclipse,Tomcat 系统展示 …

TCP编程

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 由于TCP连接具有安全可靠的特性,所以TCP应用更为广泛。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服…

短剧cps分销系统,热门短剧项目怎么做?短剧cps分销系统搭建开发

目录 前言: 一、短剧分销怎么做? 1:推广达人: 2:做一款短剧分销小程序: 3:搭建短剧看剧系统: 二、短剧分销系统的分销比例有多少呢? 三、总结 前言: 当…

20240624(周一)AH股行情总结:A股低开低走, 恒生科技指数跌2%,贵州茅台转跌为涨

内容提要 A股三大指数收盘均跌超1%,半导体、智慧医疗、商业航天概念领跌,中芯国际跌超3%,盘中一度涨2%。水电股逆势走强;白酒股低开高走,贵州茅台翻红,盘初曾跌3%。微盘股指数大跌4%。 正文 周一&#x…

中霖教育:二级建造师报名后缺考有影响吗?

在完成二级建造师的报名程序后,考生无法进行退考。如果是不参加考试,可以选择弃考。弃考对个人并没有负面影响,缺席考试的话也不会被记录在个人诚信档案中。当然,如果弃考的话此次考试的成绩将被记为0,下一年参加考试按…

qt 简单实验 用代码添加控件

1.概要 2.代码 #include "dialog.h" #include "ui_dialog.h" #include <QPushButton>Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui->setupUi(this);QPushButton *button new QPushButton("My Button",…