TypeScript在学习(0)

1.什么是TypeScript?

答:TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

个人浅见,我一直把ts简单理解成,其实就是javascript上多了的类型限制;

2.优势和缺点

答:优点可以简单概括为一下几个方面;

1.增强代码的可维护性

2.友好地在编辑器里提示错误,编译阶段就能检查类型发现大部分错误

3.支持最新的JavaScript新特特性

4.周边生态繁荣,vue3已全面支持 typescript

缺点:

1.需要一定的学习成本

2.和一些插件库的兼容并不是特别完美,如以前在 vue2 项目里使用 typescript就并不是那么顺畅

3.增加前期开发成本,毕竟你要多写代码(但是便于后期维护)

3.如何安装TypsScript

npm install -g  typescript // 全局安装 ts

安装成功后,可以执行tsc -v查看版本

执行tsc --lint 指令,可以看到生成了一个tsconfig.json的文件,里面有些配置信息

{"compilerOptions": {// 指定目标 ECMAScript 版本,如 "es5", "es6"(等同于 "es2015"), "esnext""target": "es5",// 指定模块系统,例如 "commonjs", "amd", "esnext", "umd" 等"module": "es6", // 或commonjs等根据需要选择模块系统//生成 source map 文件以方便调试"sourceMap": true,// 输出目录,编译后的 JavaScript 文件存放位置"outDir": "./dist",// 基本 URL,用于解析非相对模块名称"baseUrl": "./src",// 控制 JSX 的处理方式,如 "preserve", "react", "react-native""jsx": "preserve",// 启用实验性的 ES 装饰器支持"experimentalDecorators": true,// 允许使用 import 的默认导出与 CommonJS 的 require() 结合"esModuleInterop": true},// 包含哪些文件或 glob 模式匹配的文件需要被编译"include": ["src/**/*.ts"],//  排除不需要被编译的文件或 glob 模式匹配的文件"exclude": ["node_modules"],"noImplicitAny": true,"strictNullChecks": true
}

接着,我们可以创建一个.ts的文件,写点东西,例如

我用的vscode,安装了插件Code Runner

右键点击run即可执行;

实际上,ts会转换为js进行编译;

ok,至此基础结束,我们可以开始正式学习typescript了

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

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

相关文章

SAP Fiori开发中的JavaScript基础知识3 - 类型转换,逻辑true和false

1 背景 在上一篇博客中,我我介绍了JavaScript最基本的语法,包括变量,操作符,值,类型的概念。在本篇博客中,我将介绍JavaScript中的类型转换逻辑,以及逻辑真假的概念。这些都属于JavaScript中最…

DY-36电压继电器 额定电压100V 整定范围40-160V 板前带座 JOSEF约瑟

系列型号: DY-32电压继电器; DY-36电压继电器; DY-33电压继电器; DY-37电压继电器; DY-34电压继电器; DY-38电压继电器; DY-31电压继电器; DY-35电压继电器; DY-32/60C电…

YOLO算法改进Backbone系列之:Conformer

CNN难以捕捉全局表征,这通常对高级计算机视觉任务至关重要。一个直观的解决方案是扩大感受野,但这可能需要更密集但具有破坏性的池化操作。由于自注意力机制和多层感知器(MLP)结构,transformer反映了复杂的空间变换和长…

Vue3 + vite + Ts 组件间通信

Vue3 vite Ts 组件间通信 1、props2、自定义事件3、mitt4、$attrs 1、props 概述:props 是使用频率最高的一种通信方式,常用与:父 和 子 互相传递 若 父传子 :属性值是非函数。若 子传父 :属性值是函数。 简单例子&…

【C++】this关键字和new关键字

一、this关键字 在 C 中&#xff0c; this 关键字是一个 指向调用对象的指针 。它在成员函数内部使用&#xff0c;用于引用调用该函数的对象。使用 this 可以明确指出成员函数正在操作的是哪个对象的数据成员。 示例&#xff1a; #include <iostream>using namespa…

网红电商主播培养体系招聘管理制度孵化方案

【干货资料持续更新&#xff0c;以防走丢】 网红电商主播培养体系招聘管理制度孵化方案 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 共120页可编辑&#xff08;完整资料包含以下内容&#xff09; 目录 主播团队组建方案 让好主播主动留下 1. 好主播选拔标准…

【Flink】Flink 处理函数之基本处理函数(一)

1. 处理函数介绍 流处理API&#xff0c;无论是基本的转换、聚合、还是复杂的窗口操作&#xff0c;都是基于DataStream进行转换的&#xff0c;所以统称为DataStreamAPI&#xff0c;这是Flink编程的核心。 但其实Flink为了更强大的表现力和易用性&#xff0c;Flink本身提供了多…

学习SpringBoot笔记--知识点(2)

目录 数据访问 基础特性 自定义banner Profiles Profiles组件 Profiles配置文件 外部化配置 单元测试 数据访问 整合SSM场景 SpringBoot 整合 Spring&#xff0c;SpringMVC&#xff0c;MyBatis 进行数据访问场景开发 需要的依赖&#xff1a; <!-- web启动…

leetcode 518.零钱兑换 II

思路&#xff1a;和第一道是一样的问题&#xff0c;也就是完全背包问题。 我们首先可以看到&#xff0c;每一个数都是可以重复使用的&#xff0c;而且&#xff0c;数的选择上有两种&#xff0c;一种就是选&#xff0c;一种就是不选。所以会想到完全背包问题。 上一个题的零钱…

如何从其他平台复制商品上传到自己店铺?官方授权接口,一键复制爆款同款

很多做一件代发的卖家在上新时会从其他平台选品铺货&#xff0c;看到某个商品卖得不错&#xff0c;直接复制到自己店铺去卖&#xff0c;可以节省测款成本。 现在平台严查无货源&#xff0c;直接从别人店铺搬运商品属于违规违规行为&#xff0c;想要复制这个爆款的话&#xff0…

鸿蒙HarmonyOS应用开发—AbilityStage组件容器

AbilityStage是一个Module级别的组件容器&#xff0c;应用的HAP在首次加载时会创建一个AbilityStage实例&#xff0c;可以对该Module进行初始化等操作。 AbilityStage与Module一一对应&#xff0c;即一个Module拥有一个AbilityStage。 DevEco Studio默认工程中未自动生成Abil…

ArcGIS二次开发(一)——搭建开发环境以及第一个简单的ArcGIS Engine 程序

Arcgis10.2、Arcgis Engine10.2与Microsoft Visual Studio 2012的版本进行安装 1、推荐教程与安装包2、安装顺序3、安装成功测试VS新建项目可以创建ArcGIS项目&#xff0c;并且在VS中拖拽ArcGIS工具 4、搭建第一个简单的ArcGIS Engine 程序 ArcEngine和VS版本是有对应的&#x…

东方 - 分支(1)

目录 解析部分&#xff1a;双分支1303. 冷饮的价格&#xff08;1&#xff09;问题描述解题思路代码实现代码解析 1033. 判断奇偶数问题描述解题思路代码实现代码解析 1302. 是否适合晨练&#xff1f;问题描述解题思路代码实现代码解析 1632. 需要几辆车问题描述解题思路代码实现…

Leetcode 453. 最小操作次数使数组元素相等

原题链接&#xff1a;Leetcode 453. minimum moves to equal array elements Given an integer array nums of size n, return the minimum number of moves required to make all array elements equal. In one move, you can increment n - 1 elements of the array by 1. …

【Python】enumerate函数的使用方法,小白一看就懂

enumerate函数的使用方法&#xff1a; season[‘a’,‘b’,‘c’,‘d’] for i in enumerate(season): print(i) season[‘a’,‘b’,‘c’,‘d’] for i,eliment in enumerate(season): print(i,eliment) 输出结果为&#xff1a; 练习题&#xff1a; 2.给出10个学生姓名…

5. C++ 局部静态变量在什么时候分配内存和初始化?

C局部静态变量在什么时候分配内存和初始化&#xff1f; 对于C语言的全局和静态变量&#xff0c;不管是否被初始化&#xff0c;其内存空间都是全局的&#xff1b;如果初始化&#xff0c;那么初始化发生在任何代码执行之前&#xff0c;属于编译期初始化。由于内置变量无须资源释…

从0到1:校园生活圈小程序开发笔记(一)

可行性研究 校园生活圈小程序是一种面向大学或学院校园的社交平台&#xff0c;旨在为校园内的师生提供交流、分享、互助和信息发布等功能。 为校园内的师生提供一个便捷的平台&#xff0c;帮助他们更好地了解校园生活、参与校园活动、交流学习和共享资源。 功能分解 公告资讯…

力扣HOT100 - 42. 接雨水

解题思路&#xff1a; 动态规划 感觉不是很好想 class Solution {public int trap(int[] height) {int n height.length;if (n 0) return 0;int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i…

JS加密解密之应用如何保存到桌面书签

前言 事情起因是这样的&#xff0c;有个客户解密了一个js&#xff0c;然后又看不懂里边的一些逻辑&#xff0c;想知道它是如何自动拉起谷歌浏览器和如何保存应用到书签的&#xff0c;以及如何下载应用的。继而诞生了这篇文章&#xff0c;讲解一下他的基本原理。 渐进式Web应用…

docker使用教程

寒假用了docker 2个月没用 结果还重新安装docker 忘了怎么用 为了免得以后忘写下下面内容 # If you dont have a docker installed, youll need to install docker curl -s https://get.docker.com/ | sh # Use pip to install docker-compose pip install docker-compose…