TypeScript(持续更新中...)

news2024/11/25 0:40:35

1.TypeScript是什么?

TypeScript是javaScript的超集。

2.使用TypeScript

1)全局安装nodejs

2)安装TypeScript编译器

npm i -g typescript 

3.编译ts文件

//注意:需要在ts文件同级目录执行此命令,否则会报找不到文件错误
//编译成功后,会生成一个同名的js文件
tsc 'ts文件名称' 

3.编译优化

1)ts和编译后的js同名冲突问题

//1.生成tsconfig.json文件
tsc init //生成tsconfig.json文件
//2.修改tsconfig.json的strict属性为false或者注释掉

2)修改自动编译

//在终端执行此命令
tsc --watch

3)ts错误文件存在错误,抛出错误,并不自动编译

tsc --noEmitOnError --watch

4.定义显示类型

定义了显示类型可以避免一些类型不对引发的错误。

const say(word:string){
}
say('hello')

5.降级编译

通过修改tsconfig.json文件中的target属性,来控制编译出来的js文件能兼容到哪个js版本。tsconfig.json默认是es2016,也就是es7。

6.基元类型

String、Number、Boolean

7.type及interface

type:不能存在同名的情况,只能定义新的type基于一个已有的type进行扩展。

interface:可以存在同名的情况,多个接口内的属性会自动合并。

/*
*类型
*/

type Point = {
    x:number,
    y:number
}

//在Point扩展一个y属性生成一个新的类型
type onePoint = Point & {
    y:number
}

*
*接口
*/

interface Person{
    name:string,
    age:number
}

interface Person {
    sex:string
}

interface yellowPerson extends Person{
    color:string
}

 8.类型断言

通过as 或者 <> 可以实现类型断言


const div = document.getElementById('div1') as HTMLDivElement

const div2 = <HTMLDivElement>document.getElementById('div1')

const x = ('hello' as unknown) as number

 9.文字类型(类似常量)

例如以下例子:使用了文字类型+ 字符串的组合方式, printText方法第2个参数只能传left、right、center中的一个,不能传递其他值。

// 文本类型
function printText(s:string, alignment:'left' | 'right' | 'center'){
    console.log(s,alignment)
}
printText('hello', 'left')

 

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

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

相关文章

AI爆文写作:关注热点,提前埋伏好关键词,吃系统的热点推荐,吃搜索流量,让你的文章直接爆了!

做内容&#xff0c;要对热点敏感。 小米汽车的发布会时间&#xff0c;我们是不是提前就知道&#xff0c;发布会前&#xff0c;大家最关注的就是价格。 你看这个相关关键词搜索&#xff0c;10W太多了。 我看到有博主在发布会前&#xff0c;埋伏了一篇&#xff0c;公众号也有推…

FunSound: 基于FunASR-onnx 的高精度离线转写

​ 基于funasr的高精度离线语音转写网页 www.funsound.cn 精度和速度表现不错&#xff0c;提供给大家免费测试 ​

UniApp 2.0可视化开发工具:引领前端开发新纪元

一、引言 在移动互联网迅猛发展的今天&#xff0c;移动应用开发已经成为前端开发的重要方向之一。为了简化移动应用开发流程&#xff0c;提高开发效率&#xff0c;各大开发平台不断推出新的工具和框架。UniApp作为一款跨平台的移动应用开发框架&#xff0c;自诞生以来就备受开…

如何通过软件SPI读写W25Q64

STM32F1之SPI通信软件SPI代码编写-CSDN博客 目录 1. W25Qxx系列简介 2. W25Q64硬件电路 3. W25Q64框图 4. Flash操作注意事项 5. 代码编写 5.1 初始化 5.2 W25Q64读取ID号 5.3 W25Q64写使能 5.4 W25Q64等待忙 5.5 W25Q64页编程 5.6 W25Q64扇区擦除&#x…

YOLOv5改进 | 主干网络 | 用EfficientNet卷积替换backbone【教程+代码 】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 在YOLOv5的GFLOPs计算量中&#xff0c;卷积占了其中大多数的比列&#xff0c;为了减少计算量&#xff0c;研究人员提出了用EfficientNet代替b…

PS —— 精修图像

PS —— 精修图像 修复污点修复画笔工具修复画笔工具 美白滤镜去杂锐化加杂减淡和锐化工具 我觉得今天这篇博客&#xff0c;无论是男同胞还是女同胞&#xff0c;都要熟练掌握&#xff08;哈哈哈哈…) 今天我们来学习如何精修图像&#xff0c;精修图像一般分为几步——修复&…

32 位和 64 位 Linux 上 C 语言的整数大小的分析

在 Linux 系统上进行 C 语言编程时&#xff0c;理解整数大小在 32 位和 64 位系统上的区别是开发高效、可靠程序的基础。本文将深入探讨整数在这两种架构下的大小差异及其原因&#xff0c;并介绍其对程序的影响。 整数类型及其大小 C 语言中主要的整数类型包括 char、short、i…

蓝牙模块技术在智慧养老领域的广泛运用

随着蓝牙模块通信技术的不断提升&#xff0c;蓝牙技术作为物联网无线通信技术之一&#xff0c;正在逐渐渗透到我们生活的各个领域。众所周知&#xff0c;我国人口老龄化日益严峻&#xff0c;传统的“养儿防老”已经满足不了当前的养老需求。养老不仅仅是一个家庭的问题&#xf…

【Linux网络】端口及UDP

文章目录 1.再看四层2.端口号2.1引入linux端口号和进程pid的区别端口号是如何生成的传输层有了pid还设置端口号端口号划分 2.2问题2.3netstat 3.UDP协议3.0每学一个协议 都要讨论一下问题3.1UDP协议3.2谈udp/tcp实际上是在讨论什么&#xff1f; 1.再看四层 2.端口号 端口号(Po…

安全风险 - 切换后台时背景模糊处理

因为安全风险中提到当app处于后台卡片状态时&#xff0c;显示的卡片页面应该为模糊效果&#xff0c;否则容易泄露用户隐私&#xff0c;尤其当前页涉及个人信息、资产信息等&#xff0c;都会造成信息泄露&#xff01;基于这种场景&#xff0c;我研究了下这种业务下的模糊效果 找…

[JAVASE] 类和对象(三) - 继承

目录 一. 继承的定义 1.1 基本概念 1.2 基本实现 二. 父类 和 子类中的成员访问 2.0 super 与 this 关键字 2.1 访问成员变量 2.2 访问成员方法 三. 父类 和 子类中的构造方法 3.1 访问父类中的构造方法 3.2 注意事项 四. 权限修饰限定符 public: protected: default: …

Spring系列-03-BeanFactory和Application接口和相关实现

BeanFactory BeanFactory和它的子接口们 BeanFactory 接口的所有子接口, 如下图 BeanFactory(根容器)-掌握 BeanFactory是根容器 The root interface for accessing a Spring bean container. This is the basic client view of a bean container; further interfaces such …

GD32F103RCT6/GD32F303RCT6-UCOSIII底层移植(4)消息队列实验

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 后续项目主要在下面该专栏中发布&#xff1a; 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转&#xff1a; 手把手教你嵌入式国产化-实战项目-无刷电机驱动&am…

【LeetCode算法】第58题:最后一个单词的长度

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路&#xff1a;双指针法。low指向单词头&#xff0c;high指向单词后的空格&#xff0c;则high-low就是每个单词的长度。算法步骤&#xff1a;①low从头往后查找第一个非空格的字符&…

分割文本文件

分割一个.txt文件&#xff0c;可以选择在命令行中使用split指令&#xff0c;或者编写一段脚本进行操作。以下是一个简单的Python脚本来分割文本文件&#xff1a; def split_file(file, lines):# Open source filewith open(file, r) as source:count 0atEOF Falsewhile not …

如果有多个文件夹,怎么快速获得文件夹的名字呢

上一篇写到怎么批量建立文件夹&#xff0c;那么怎么获取批量文件夹的名字呢&#xff1f; 一、啊这&#xff0c;这真是一个好问题二、这个得用Python&#xff08;文本末尾有打包程序&#xff0c;点击链接运行就可以了&#xff09;&#xff08;1&#xff09;首先建立一个py文件&a…

Python 将文件夹中的图片信息导入到 Excel 的表格

引言 在数据处理和管理的日常任务中&#xff0c;经常需要将文件夹中的图片文件信息&#xff08;如文件名、路径、创建日期、大小、分辨率等&#xff09;整理成一个 Excel 表格。这篇博客将介绍如何使用 Python 中的 wxPython 模块创建一个 GUI 应用&#xff0c;用户可以通过这…

jmeter保存测试计划报错——Couldn‘t save test plan to file:

jmeter保存测试计划报错——Couldnt save test plan to file:。。。。。拒绝访问 一、问题描述二、分析三、结果 一、问题描述 Couldn’t save test plan to file:D:\Program Files\apache-jmeter-5.6.2\bin\线程组.jmx D:\Program Files\apache-jmeter-5.6.2\bin\线程组.jmx(…

2024电工杯A题完整代码论文分析

2024年电工杯数学建模竞赛A题论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型…

【Mac】电脑任何来源无法打开的问题解决办法

前言 有小伙伴在安装本站软件过程中&#xff0c;遇到过运行脚本1提示 sudo: /etc/sudoers is world writable的问题&#xff0c;其实就是电脑任何来源无法打开。今天就来说一下解决办法。 问题现象 电脑运行「脚本1」时提示&#xff1a; // 错误内容sudo: /etc/sudoers is w…