typeScript安装以及typeScript配置

news2024/12/24 2:55:02

1. 什么是typeScript ?

它强调了 TypeScript 的两个最重要的特性——类型系统、适用于任何规模。

包含js的所有的元素,能运行js代码,支持ES语法,是一种开源、跨平台的编程语言。就是js的超

集。

  • TypeScript 是添加了类型系统的 JavaScript,适用于任何规模的项目。
  • TypeScript 是一门静态类型、弱类型的语言。
  • TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性。
  • TypeScript 可以编译为 JavaScript,然后运行在浏览器、Node.js 等任何能运行 JavaScript 的环境中。
  • TypeScript 拥有很多编译选项,类型检查的严格程度由你决定。
  • TypeScript 可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript。
  • TypeScript 增强了编辑器(IDE)的功能,提供了代码补全、接口提示、跳转到定义、代码重构等能力。
  • TypeScript 拥有活跃的社区,大多数常用的第三方库都提供了类型声明。
  • TypeScript 与标准同步发展,符合最新的 ECMAScript 标准(stage 3)。

2. typeScript 的特性?

「类型」是其最核心的特性。

我们知道,JavaScript 是一门非常灵活的编程语言:

  • 它没有类型约束,一个变量可能初始化时是字符串,过一会儿又被赋值为数字。
  • 由于隐式类型转换的存在,有的变量的类型很难在运行前就确定。
  • 基于原型的面向对象编程,使得原型上的属性或方法可以在运行时被修改。
  • 函数是 JavaScript 中的一等公民[2],可以赋值给变量,也可以当作参数或返回值。

从 2013 年开始就一直蝉联最普遍使用的编程语言排行榜冠军;另一方面也使得它的代码质量参

差不齐,维护成本高,运行时错误多。

而 TypeScript 的类型系统,在很大程度上弥补了 JavaScript 的缺点。

 TypeScript 是静态类型

类型系统按照「类型检查的时机」来分类,可以分为动态类型静态类型

动态类型是指在运行时才会进行类型检查,这种语言的类型错误往往会导致运行时错误。

静态类型是指编译阶段就能确定每个变量的类型,这种语言的类型错误往往会导致语法错误

JavaScript 是一门解释型语言,没有编译阶段,所以它是动态类型。

TypeScript 是静态类型,在运行前需要先编译为 JavaScript,而在编译阶段就会进行类型检查。

TypeScript 是弱类型

类型系统按照「是否允许隐式类型转换」来分类,可以分为强类型弱类型

TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性,所以它们都是弱类

适用于任何规模

TypeScript 非常适用于大型项目——这是显而易见的,类型系统可以为大型项目带来更高的可维护

性,以及更少的 bug。

有一些第三方库原生不支持 TypeScript,但是可以通过安装社区维护的类型声明库(比如通过运行 npm install --save-dev @types/react 来安装 React 的类型声明库)来获得代码补全能力——不管是在 JavaScript 项目中还是在 TypeScript 中项目中都是支持的:

 3.安装TypeScript

npm install -g typescript

当我们写好TypeScript代码时,是需要把该代码编译成 js 代码的,可以 手动编译或者自动编译。

手动编译:

tsc 文件名

 自动编译:

① 打开一个终端,生成配置文件: 

tsc --init

② 修改配置文件tsconfig.json , 把“outDir”的属性值改为“./js”;意思是把编译的后的js文件统一输出

到一个js文件夹中。“strict”属性代表的是是否运行严格模式。true为运行。

③ 启动监视任务

 

这样就可以自动编译了。

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

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

相关文章

Java并发编程 —— ThreadLocal详解

一、什么是ThreadLocal ThreadLocal用于提供线程内部共享的变量,每个线程在访问ThreadLocal实例的时候都可以获得自己的、独立初始化的变量副本,这样线程间互不干扰,从而避免了线程安全问题。 比如我们知道SimpleDateFormat是线程不安全的&…

LVS负载均衡+keepalived高可用

准备准备五台虚拟机 192.168.255.128 MASTER 192.168.255.134 BACKUP 192.168.255.130 Nginx节点服务器1 192.168.255.131 Nginx节点服务器2 192.168.255.132 客户端验证 一、配置节点服务器 1、配置虚接口lo:0 cd /etc/sysconfig/network-scripts/ cp ifcfg-…

Vue-cli 3.x 脚手架搭建的 Vue 2.x 项目进行 npm install 安装时报错: npm ERR! code 1……

项目场景: 公司以前做过的项目,当时开发环境 npm,node.js 版本和现在都不一样,比较旧了,项目之前是用 Vue-cli 3.x 搭建的,Vue 2.x 写的,当时配套的第三方依赖版本也都很落后了,在近…

有趣有爱有温度!迅镭激光第一季度户外团建活动圆满落幕!

阳春四月,元气复苏 凝心聚力,共享喜悦 迅镭激光第一季度寿星及新人 欢聚常熟蒋巷基地 开启一段美妙的户外团建之旅 无创意不团建!蓝天白云下,队员们在教练的指导下解锁各种花样游戏大玩法,大家密切配合、相互协作,…

Docker | 解决docker 容器中csv文件乱码的情况

问题描述:在Ubuntu docker容器中,打开.csv文件时显示乱码 问题如图 错误分析: 用locale查看所用容器支持的字符集 从输出可以看到,系统使用的是POSIX字符集,POSIX字符集是不支持中韩文的,而UTF-8是支持中…

054:cesium加载WMS规范的影像服务

第054个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载WMS规范的影像服务。WebMapServiceImageryProvider提供由 Web 地图服务 (WMS) 服务器托管的平铺图像。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代…

剑指 Offer II 026. 重排链表

思路: (1)找到链表中心点,如果链表节点为奇数,那么要保证前面要比后面多一个节点。 (2)将后一部分的结点进行反转。 (3)将反转后的结点插入前一部分的结点。 &#xff0…

前有谷歌的“生存指南”,后有金山系的“表格编程”,均登热榜

谷歌的“生存指南” 一位曾经在谷歌工作的工程师,干了一件了不起的事,花费了两年的时间,整理了一份“xg2xg”的清单。 原来这位离职的谷歌工程师为程序员编写了一份“厂外生存指南”,即使你从谷歌离职后,在这套“生存…

无良公司把我从上家挖过来,白嫖了六个月,临近试用期结束才说不合适,催我赶紧找下家!...

职场套路多,一不小心就会掉坑,一位网友讲述了自己的遭遇: 今天被领导催促离职了,当时就是这个领导把他从别的公司挖过来。这家公司催得太急,为了投奔这里,他和上家的HR都闹翻了,上家总监挽留他&…

ChatGLM ptuning 的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

【中间件】kafka

目录 一、概述二、生产者1. 发送原理2. 生产者分区 Partition分区好处分区策略 3. 生产者如何提高吞吐量4. 数据可靠性ACK应答级别数据不丢失:ACK ISR数据不重复:幂等性数据有序 三、broker1. 工作流程2. 副本相关3. 底层存储4. 高效读写数据 四、消费者…

常见误区,你可曾踩过?深度剖析WEB自动化测试实施问题与解决方案

目录 摘要: 一、WEB自动化测试实施的步骤 1.测试计划 2.测试用例设计 3.环境搭建 4.脚本编写 5.执行测试 6.缺陷管理 二、WEB自动化测试常见误区 1.选择不合适的自动化测试工具和框架 2.忽略测试环境的影响 3.. 缺乏对页面元素的理解 三、示例代码 结论…

学顶教育:一级消防师资格证发放问题分享

1、为什么证书不申请没加注就可以下载? 2021年12月17日前由相关行业协会、学会或有关部门指定的机构出具的电子证书,目前无需申请加注,可直接查看、下载。 2、如何查询“证书查询验证范围”? 进入中国人事考试网首页&#xff0…

体验 Google Bard

环境 windows 10 64bitGoogle Bardpython 3.8 简介 本篇介绍一个开源的 Google 聊天机器人Bard 的 API 逆向工程,使用它,可以免费的使用 Bard 服务,项目地址:https://github.com/acheong08/Bard 安装及使用 通过 pip 来安装 pip &…

内网渗透的一些tips

声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法活动,如因此造成的直接或间接损失,均由使用者自行承担责任。 每周不定时持续分享各种干货。 众亦信安,中意你啊! 一.密码抓取 平…

CVPR 2023 | 一键去除视频闪烁,该研究提出了一个通用框架

该论文成功提出了第一个无需额外指导或了解闪烁的通用去闪烁方法,可以消除各种闪烁伪影。 高质量的视频通常在时间上具有一致性,但由于各种原因,许多视频会出现闪烁。例如,由于一些老相机硬件质量较差,不能将每帧的曝光…

字符函数和字符串函数(二)

目录 1.strncpy 2.strncat 3.strncmp 4.strstr 5.strchr 6.strtok 7.strerror 1.strncpy ok,在上一篇博客的讲解中,我们谈到了strcpy这个函数,并且了解到了这个函数的功能是将源字符串的内容复制到目标字符串里,并且我们还知道了在C语…

字符函数和字符串函数(三)

1.字符分类函数 在我们的日常代码生活中,经常会遇到一类问题,比如说判断一个字母的大小写,或者标点符号等。因此,我们需要用到一些字符分类函数 函数 如果他的参数符合下列条件就返回真 iscntrl 任何控制字符 isspace 空白字符&…

使用GPT4做Leetcode第 102 场双周赛

虽然一次周赛的几个题目说明不了太多问题,比如这个周赛的Hard题目就是板子题,算不上Hard,也许把第三题和第四题的顺序换一下比较合适。但是,GPT4的表现已经严重超出了我的预期。对于这次周赛的四个题目,GPT4的表现如下…

说走就走的接口自动化测试脚本:快速提高测试效率的秘密武器

目录 摘要: 环境准备 编写测试用例 运行测试脚本 总结 摘要: 作为一名测试工程师,我们常常需要进行接口测试,目的是验证接口是否符合规范并且稳定可靠。然而,手动测试难免会出现疏漏和人为错误,因此…