文章目录

  • 前言
  • typescript 特点
  • javascript 进化
  • typescript 局限与解决

前言

随着前段工程化的深入,引入强类型和更多面向对象方法的typescript逐渐被更多开发者运用。
本文将介绍从以下三点介绍typescript与javascript的异同:

  1. ts相较js的特点
  2. js借鉴ts的进化
  3. ts作为js超集的局限与相应解决方法。

typescript 特点

相较于js(ES6+), ts的基础有以下几大特点:

  1. ts是js的超集,即你可以在ts中使用原生js语法。
  2. ts需要静态编译,它提供了强类型与更多面向对象的内容。
  3. ts最终仍要编译为弱类型,基于对象的原生的js,再运行。故ts相较java/C#这样天生面向对象语言是有区别和局限的
  4. ts是由微软牵头主导的,其语法风格与概念主要来自C#

javascript 进化

因为ECMA标准的进化,很多ts的专属特性已在原生js中落地,其中包括但不限于:

  1. let/const 基于块级作用域的变量声明
  2. lambda(箭头函数)
  3. class 类

所以,除强类型与泛型等从C#引入的面向对象特性,js与ts的差异已基本被抹平。

typescript 局限与解决

ts是js的超集,这意味着你在ts中写js是完全兼容的,这降低了ts的学习和使用门槛,保留了灵活性,但同时,ts的纯洁性无法保证
程序是否加入类型声明,是否使用面向对象完全取决于开发者本身,而这种过分的宽容很不利于团队合作的复杂长周期开发。
如果不对ts项目进行严格的代码规范,那么使用ts非但不能提高项目的安全性和严谨性,反而会给自己挖很多坑。

所以,建议ts项目采用团队统一的tslint
当然,如果希望使用真正的静态,类定义,面向对象的web开发语言,可以考虑放弃typescript,转投dart了。

TS | typescript与JavaScript的异同相关推荐

  1. Vue.js 作者尤雨溪:TypeScript 与 JavaScript 并行才切合实际!

    作者 | Evrone 译者 | 弯月,责编 | 杨碧玉 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 简介 尤雨溪是一名优秀的软件开发人员,同时是开 ...

  2. [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口

    [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口 本文地址:https://blog.csdn.net/qq_28550263/article ...

  3. TypeScript VS JavaScript 谁更牛?尤雨溪:TypeScript不会取代JavaScript

    点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 来源 | evrone.com 前端之颠  译者 | 核子可乐 TypeScript 和 ...

  4. TypeScript和JavaScript的区别,全面解读超详细

    TypeScript 是 JavaScript 的超集,理解 TypeScript 与 JavaScript 区别以选择合适的语言. 1.TypeScript 特性 TypeScript 是 Micr ...

  5. 微软推出VS Code新特性,为TypeScript和JavaScript用户提供AI辅助开发功能

    除了开发人员非常喜欢的IntelliSense和代码完成之外,今年早些时候,微软还发布了IntelliCode,提供了一组AI辅助开发功能.VS Code团队现在宣布了一项新的实验性扩展,将Intel ...

  6. Typescript 和 Javascript之间的区别

    JavaScript 和 TypeScript 的概要介绍 JavaScript JavaScript 是一种轻量级的解释性脚本语言,可嵌入到 HTML 页面中,在浏览器端执行,能够实现浏览器端丰富的 ...

  7. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...

  8. 微软推出 VS Code 新特性,为 TypeScript 和 JavaScript 用户提供 AI 辅助开发功能

    除了开发人员非常喜欢的IntelliSense和代码完成之外,今年早些时候,微软还发布了IntelliCode,提供了一组 AI 辅助开发功能.VS Code 团队现在宣布了一项新的实验性扩展,将 I ...

  9. typescript或javascript深拷贝Object json

    typescript或javascript深拷贝Object json Object的json对象很多时候我们需要深拷贝,我写了两个工具函数,供大家参考. deepCopyObject 深拷贝一个Ob ...

最新文章

  1. 【读书笔记】编写高质量的代码Web前端开发修炼之道——曹刘阳
  2. [Winodows图形编程]初识双缓冲技术
  3. mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法
  4. CSS基本知识之常用的选择器分类
  5. matlab 登录界面设计,【MATLAB】 浅析登录界面设计
  6. 编程之美 1.4买书问题常数时间空间解法
  7. linux 数据转为曲线图,Linux系统下生成TPS,ResponseTime曲线图
  8. Java开发手册黄山版新增规约摘录
  9. cocos2dx android studio 打包总结
  10. 包学会之浅入浅出Vue.js:升学篇
  11. 活动回顾 | Mini XMan线上快闪活动圆满结束!
  12. 懂电脑的都不会买i7处理器,程序员:我有一个十几万的电脑梦
  13. UEditor上传文件大小超限,上传失败问题解决
  14. 吴式太极拳的特点-和基础要求
  15. python人工智能要看哪些书籍_有趣的电影英文怎么读
  16. 记录解决nonebot2中定时器报时区问题的错误
  17. AJAX与JavaScript脚本语言
  18. java计算机毕业设计springboot+vue校园出入管理系统
  19. 果数据库被锁了,查询并杀死对应的进程
  20. Arduino提高篇21—RFID模块门禁设计

热门文章

  1. 关于人工智能,你知道怎么学吗
  2. 计算机视觉——计算视差图
  3. 数据分析初回-探索性数据分析
  4. P2P理财资金安全最重要 大数据风控模型或成趋势
  5. Linux CentOS7 基础:网络管理技术
  6. MOOC《Python网络爬虫和信息提取》(第11次)网络爬虫之框架(第4周)
  7. Android仿今日头条的开源项目
  8. 复旦大学邱锡鹏:若优化顺利,MOSS三月底开源;库克或被踢出苹果董事会;华为云联合CSDN发布智能化编程助手Snap|极客头条
  9. [蓝桥杯2019初赛]立方和
  10. keydown与keypress的区别,组合键