从零开始学习typescript——什么是typescript

什么是typescript

typescript是javascript 类型的超级,他可以编译成纯javascript. TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。

这个是typescript 官网对 typescript的描述

背景及特点

TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统.

javascript兴起

在这里插入图片描述

  1. 诞生(1995年)
    Brendan Eich 在 1995 年创建了 JavaScript。最初被设计为在 Netscape Navigator 浏览器中实现交互和动态性。
  2. ECMAScript 的标准化(1997年)
    JavaScript 被提交给 ECMA International,经过标准化后成为 ECMAScript。ECMAScript 1 是 JavaScript 的第一个标准版本。
  3. Ajax 的兴起(2000年)
    Asynchronous JavaScript and XML(Ajax)的概念崭露头角。它使用 JavaScript 在不刷新整个页面的情况下进行数据交换。
  4. jQuery 的出现(2006年)
    jQuery 库的推出极大地简化了 JavaScript 的操作和跨浏览器兼容性问题,成为当时广泛使用的库。
  5. Node.js 的诞生(2009年)
    Ryan Dahl 发布了 Node.js,使 JavaScript 能够在服务器端运行。这一举措开创了全栈 JavaScript 开发的新纪元。
  6. 前端框架的崛起(2010年至今)
    AngularJS、React 和 Vue.js 等前端框架和库的出现大大提高了 JavaScript 的开发效率和应用范围。
  7. ES6(2015年)和之后的版本
    ECMAScript 6(ES6)的发布为 JavaScript 增加了许多新特性,如箭头函数、类、模块化等,大大提升了语言的功能性。
  8. 现代化的 JavaScript 生态系统
    WebAssembly(wasm)的兴起和现代浏览器的优化使得 JavaScript 在性能和功能上有了长足的进步。
    出现了各种工具和框架,如Webpack、Babel、TypeScript 等,帮助开发者更好地管理和扩展 JavaScript 项目。

javascript缺点

javascript一开始只希望在浏览器中增加一些简单的效果,并没有打算应用于大型项目。在小型项目中,问题并没有凸显出来,但是随着javascript兴起,应用的领域越来越广,缺陷也慢慢凸显出来,额外造成了很大的维护成本。
主要的缺点是:

  1. 大型项目维护成本过高
  2. 在编译阶段无法发现所有问题

javascript常见的错误
在这里插入图片描述

javascript概念

typescript是一门专为开发大规模javascript应用程序而设计的编程语言;是javascript的超集,包含了javascript现有的全部功能;使用了与javascript相同的语法和语义。

typescript设计原则

typescript保留了javascript代码的运行时行为,避免增加表达式级别的语法,仅仅增加类型相关语法;与当前和未来版本的ECMA script规范保持一致。

选择typescript的原因

能够更早地发现代码中的错误
能够帮助提高生产力
支持javascript语言的最新特性并且使用了与javascript语言相同的语法和语义

安装

安装node

进入node的官网,选择LTS 版本,根据自己的系统选择对应的安装包。
在这里插入图片描述
安装成功之后,在终端中输入node -v就可以验证是否安装成功。

安装typescript

npm install -g typescript

验证typescript

tsc -version

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

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

相关文章

MS9708/MS9710/MS9714高速、低功耗数模转换器,可替代ADI的

产品简述 MS9708/MS9710/MS9714 是一个 8-Bit/10-Bit/14-Bit 高速、低功耗 D/A 转换器。当采样速率达到 125MSPS 时, MS9708/MS9710/MS9714 也能提供优越的 AC 和 DC 性能。 MS9708/MS9710/MS9714 的正常工作电压范围为 2.7V 到 5.5V ,…

人工标签不准确的一种解决方案:PCA降维可视化筛选正样本

背景 在实际的业务场景里,用会话文本构建模型(机器学习/深度学习)来做意图分类之类的任务时,经常会出现人工打标不够准确的问题,标签都不准确的话模型当然无法学习到有效信息了。这个问题真的非常头疼…除了与业务沟通…

9. BeanFactory 和 ApplicationContext有什么区别?

BeanFactory 和 ApplicationContext有什么区别? BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是 BeanFactory的子接口。 依赖关系 BeanFactory:是Spring里面最顶层的接口&#…

vr编辑器可以解决教育教学中的哪些问题

VR编辑器是一种基于虚拟现实技术的教育内容编辑器,可以帮助教师快速创建出高质量的虚拟现实教学内容。 比如在畜牧教学类,通过这个软件,教师可以将真实的动物场景、行为和特征模拟到虚拟现实环境中,让学生在沉浸式的体验中学习动物…

【华为OD题库-032】数字游戏-java

题目 小明玩一个游戏。系统发1n张牌,每张牌上有一个整数。第一张给小明,后n张按照发牌顺序排成连续的一行。需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字. 输入描述: 输入数据有多组…

Grafana Panel组件跳转、交互实现

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

口袋参谋:只用一招,提前规避差评!请看具体操作步骤

​如何提前规避差评?至少99%的商家都不知道该怎么做,剩下的1%还是我刚教会的。 宝贝的评价直接影响宝贝转化,特别是新品链接。 10个好评也挽回不了一个差评对产品的致命打击,差评就像一个重磅炸弹,威力足够能让你的转…

【精选】构建智能木材计数系统:深度学习与OpenCV完美结合(详细教程+源码)

1.研究背景与意义 随着科技的不断发展,计算机视觉技术在各个领域中得到了广泛的应用。其中,卷积神经网络(Convolutional Neural Network,CNN)作为一种强大的深度学习模型,已经在图像识别、目标检测、人脸识…

【MATLAB源码-第86期】基于matlab的QC-LDPC码性能仿真,输出误码率曲线。

操作环境: MATLAB 2022a 1、算法描述 QC-LDPC(准循环低密度奇偶校验)编码是一种高效的错误校正编码方式,广泛应用于通信系统和数据存储中以提高数据的可靠性。它是低密度奇偶校验(LDPC)编码的一种特殊形…

运行代码时不同软件的参数写法

目录 pycharm终端 pycharm 如下图所示,不同参数间不需要什么间隔什么东西 终端 如下图所示,不同参数间需要用一个符号来间隔

大数据平台实践之CDH6.2.1+spark3.3.0+kyuubi-1.6.0

前言:关于kyuubi的原理和功能这里不做详细的介绍,感兴趣的同学可以直通官网:https://kyuubi.readthedocs.io/en/v1.7.1-rc0/index.html 下载软件版本 wget http://distfiles.macports.org/scala2.12/scala-2.12.16.tgz wget https://archi…

Power Apps-Timer

插入一个计时器 右侧属性面板,持续时间的单位是毫秒,60000就是60秒(一分钟);开启重复是指60秒结束后重新开始计时;自动启动是指当从其他页面进入时是否自动开始计时;自动暂停是指当离开这个页面…