ts和js的区别

这篇具有很好参考价值的文章主要介绍了ts和js的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天来简单说一下js和ts的区别。

首先,它们都是脚本语言。JavaScript 是轻量级的解释性脚本语言,可嵌入到 HTML 页面中,在浏览器端执行。而TypeScript 是JavaScript 的超集(ts是微软开发的开源编程语言),即包含JavaScript 的所有元素,能运行JavaScript 的代码,并扩展了JavaScript 的语法。(ts包含了js的库和函数,ts上可以写任何的js,调用任何的js库,可以在ts中使用原生js语法)。相比于JavaScript ,它还增加了静态类型、类、模块、接口和类型注解方面的功能,更易于大项目的开发。

区别:

1、TypeScript 引入了 JavaScript 中没有的“类”概念

2、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。

3、js没有重载概念,ts有可以重载

4、ts增加了接口interface、泛型、类、类的多态、继承等

5、ts对比js基础类型上,增加了 void/never/any/元组/枚举/以及一些高级类型

js有的类型:boolean类型、number类型、string类型、array类型、undefined、null

ts新增的类型:tuple类型(元组类型)、enum类型(枚举类型)、any类型(任意类型)

void类型(没有任何类型)表示定义方法没有返回值
never类型:是其他类型(包括null和undefined)的子类型,代表从不会出现的值这意味着声明never变量只能被never类型所赋值

js变量是没有类型的,即age=18,age可以是任何类型的,可以继续给age赋值为age=”aaa”
Ts有明确的类型(即:变量名:number(数值类型))  eg:let age: number = 18

  • ts需要静态编译,它提供了强类型与更多面向对象的内容。
  • ts最终仍要编译为弱类型,基于对象的原生的js,再运行。故ts相较java/C#这样天生面向对象语言是有区别和局限的
  • ts是由微软牵头主导的,其语法风格与概念主要来自C#,理解起来学过java的更容易理解(c#我没学过)

ts优势

1、类型化思维方式,使开发更严谨,能帮助开发人员检测出错误并修改,提前发现错误,减少改Bug时间

2、类型系统提高了代码可读性,便于开发人员做注释,维护和重构代码更加容易

3、补充了接口、枚举等开发大型应用时JS缺失的功能

【JS的类型系统存在"先天缺陷",绝大部分错误都是类型错误(Uncaught TypeError)】

4、TypeScript工具使重构更变的容易、快捷。

5、类型安全功能能在编码期间检测错误,这为开发人员创建了一个更高效的编码和调试过程。文章来源地址https://www.toymoban.com/news/detail-418830.html

到了这里,关于ts和js的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 都是程序员,来认识一下啊!

    很高兴在这里认识大家! 先简单介绍一下自己,我是一个有20多年开发经验的老程序员,多次创业者。 因为我写了个开源的东西,自己觉得这东西还行。 既然是做的开源,当然是希望有更多的人来使用这个开源产品。开源产品需要开源社区,需要测试者和使用者,最好是能

    2024年02月13日
    浏览(48)
  • Sora和ChatGPT,文心一言,通义千问,都是AI模型,它们有什么不同点和相同点?

    为什么从2月14日开始,sora这个模型,很多人就开始炒作,甚至有人已经开始收学费,一天干到200万利润,这简直不敢相信。那到,Sora和ChatGPT,文心一言,通义千问,都是AI模型,它们有什么不同点和相同点? ChatGPT:ChatGPT是由OpenAI公司开发的一款大型语言模型。OpenAI是一家

    2024年03月17日
    浏览(86)
  • 今天我们来浅谈一下ChatGPT到底是什么东西

    这是一篇非学术专业性的文章,而我也是为了解chatGPT而学了两三天人工智能,所以哪里写的不好的不对的地方还希望海涵。 图灵测试 1950年,人工智能之父艾伦·图灵提出乐“图灵测试”。就是说当你在不面对面的时候跟机器人进行文字聊天的时候,如果你很难分辨出来对方

    2023年04月09日
    浏览(41)
  • 今天来认识一下无聊的spark和scala基础理知识

    spark: 首先了解什么是spark。 Spark是一种快速、通用、可扩展的大数据分析引擎。 --spark的发展史 spark的主要优点 1.快速 一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是Hadoop MapReduce运行速度的100多倍,在磁盘上的运行速度是Hadoop MapReduce运行速度的

    2024年03月19日
    浏览(46)
  • 今天跟大家好好介绍一下接口工具(jmeter、postman、swagger等)

    一、接口都有哪些类型? 接口一般分为两种:1.程序内部的接口 2.系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的

    2024年02月05日
    浏览(54)
  • 面试题-TS(三):TypeScript 中的接口是什么?它们有什么作用?

    面试题-TS(3):TypeScript 中的接口是什么?它们有什么作用? 在TypeScript中,接口是一种用于定义对象属性和行为的工具。它们充当了代码之间的契约,描述了对象应该具有的属性和方法。通过使用接口,我们可以提供更好的类型检查、模块化和代码复用。 一、接口的定义和使

    2024年02月15日
    浏览(48)
  • 面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?

    面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们? 在TypeScript中,装饰器( Decorators )是一种用于增强代码功能的特殊类型声明。装饰器提供了一种在类、方法、属性等代码元素上注释或修改的方式,使得我们可以通过装饰器来扩展、修改或监视代码的

    2024年02月15日
    浏览(62)
  • 阿里巴巴建议这样遍历Map,今天就用几种方式做个比较一下看那种最好用

    ​今天不举例子了,问一句你开心吗?不开心也要记得把开心的事情放到快乐源泉小瓶子里,偶尔拿出来一一遍历看看。 Map在我们Java程序员高频使用的一种数据结构,Map的遍历方式也有很多种,那那种方式比较高效呢,今天就带大家一起验证下。 先说一下阿里巴巴Java开发手

    2023年04月09日
    浏览(35)
  • C++中的多态是什么?如何实现多态?解释一下C++中的虚函数和纯虚函数,它们的作用是什么?

    C++中的多态是什么?如何实现多态? 在C++中,多态(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装(Encapsulation)和继承(Inheritance)。多态指的是允许一个接口(或一个父类引用)在多种数据类型上被实现,或者一个接口被多个不同的类以不同的方式实现。

    2024年02月19日
    浏览(60)
  • MySQL和MariaDB,它们有什么区别?

    目录 一、MySQL简介 二、MariaDB简介 三、什么是MariaDB? 四、为什么推出MariaDB? 五、主要区别 六、总结 在这篇文章中,我们将探讨MySQL和MariaDB之间的区别。两者都是开源的关系型数据库管理系统,但两者之间有一些关键的区别。我们将介绍这两个系统的历史,它们的主要特点和

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包