对比Javascript和TypeScript
JavaScript
特点:
1. JavaScript是解释性脚本语言,不需要编译,可以直接在浏览器中解释执行
2. 是基于对象的语言,可以创建对象并使用现有对象
3. 是弱类型、动态语言,基于对象和事件驱动
4. 较安全,跨平台,仅在浏览器端执行,不会访问本地硬盘数据
优点:
1. 发展较早,使用人数多
2. 无需编译,可以直接执行
3. 没有类的概念,开发更为灵活
TypeScript
ts是面向对象的编程语言,是JavaScript的超集,包含JavaScript所有元素,可以载入Js运行,扩展了Js的语法。TypeScript支持on-the-fly编译,即写一句ts就立即得到对应的js,不需要完整的语句写完,就可以根据上下文推导生成对应的、不完整的js代码。编译的目标代码是Es6,若有es6新特性问题时会向下兼容es5,但对于各个浏览器自行对js做的扩充,ts不保证予以支持。
特点:
1. 属于开源语言,使用Apache授权协议
2. 增加了静态类型、类、模块、接口和类型注解
3. 所有的ts声明(*.d.ts)都不会声称对应的js,因为js对象模型中的声明是可选的。
优点:
1.静态输入,可以在开发时就发现错误,使得提高代码质量
2. 大型项目开发、多人开发时,更为安全、容易、更好协作,降低乱码和错误的机会
3. 代码编译器创建优化的JavaScript,在解释执行时,鉴于浏览器的运行原理,可以减少无类型变量解释时间
4. 函数缺省参数值:可选(xxx?: yyy)和默认参数(没有参数传入是,使用默认值xxx = yyy)
JavaScript和TypeScript的主要差异
1. JavaScript可以与TypeScript共同使用,TypeScript可以使用编译器转换成JavaScript
2. TypeScript在扩展了JavaScript的类概念及核心语言方面,如TypeScript可以使用类型和接口等概念既描述正在使用的数据,又能快速检测错误
3. TypeScript通过类型注解提供编译时的静态类型检查
4. TypeScript引入模块module的概念,可以把声明、数据、函数和类封装在模块中
5. TypeScript需要被编译成JavaScript,才能在浏览器执行
6. TypeScript编译时支持有限的函数重载(overload),js不支持重载
ps:求监督,求审查~~
对比Javascript和TypeScript相关推荐
- 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...
- 简单探讨JavaScript 与 TypeScript之间的联系
这篇文章主要介绍了 JavaScript 与 TypeScript之间的联系,JavaScript,也称为 JS,是一种符合 ECMAScript 规范的编程语言.这是一个高级别的.通常是即时编译的. ...
- 从 JavaScript 到 TypeScript 5 - 路由进化
随着应用的庞大,项目中 JavaScript 的代码也会越来越臃肿,这时候许多 JavaScript 的语言弊端就会愈发明显,而 TypeScript 的出现,就是着力于解决 JavaScript 语 ...
- JavaScript 和 typeScript 中的 import、from
From:https://segmentfault.com/a/1190000018249137?utm_source=tag-newest Github - allowSyntheticDefaul ...
- 浏览器解析jsx_简单理解JavaScript,TypeScript和JSX
原标题:简单理解JavaScript,TypeScript和JSX Java: 基本概念: Java一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为Java引 ...
- 从 JavaScript 到 TypeScript 6 - Vue 引入 TypeScript
随着应用的庞大,项目中 JavaScript 的代码也会越来越臃肿,这时候许多 JavaScript 的语言弊端就会愈发明显,而 TypeScript 的出现,就是着力于解决 JavaScript 语 ...
- 从JavaScript到TypeScript,Pt。 IIB:使用类,接口和混合器进行设计
Class-based design has become such an instinct that many developers can't imagine any alternative. 基 ...
- JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)
在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...
- 用koa开发一套内容管理系统(CMS),支持javascript和typescript双语言
初衷 lin-cms是我们林间有风团队开源的一款CMS,它采用目前主流的前后端分离的架构,前端使用vue作为基础框架,后端选择了我们团队大量实践使用的flask作为基础框架. lin-cms剪彩 你也 ...
最新文章
- ChartDirector Python创建建多层甘特图的代码
- Facebook欧盟垄断案陷入灰色地带 立法或调整
- android Studio 配置LUA 开发环境
- 箱线图怎么判断异常值_极简统计学---箱线图[2]
- rsync for linux
- 缺少ncurses包的解决办法
- 2017_9_20 生活记录
- Sublime格式化代码快捷键
- Markdown基本语法
- 日本京瓷株式会社会长-稻盛和夫寄语汇总
- tar/zip 压缩解压
- “Defaulting to user installation because normal site-packages is not writeable“
- 山东某商业银行社会招聘
- 考研经验帖——特别说明很适合8月才开始准备的小伙伴
- a4如何打印双面小册子_用word如何打印小册子(一张A4打两张那种的)
- 从硬件配置开始 网吧的服务器设置全攻略(转)
- python爬虫40个项目_python三个爬虫项目代码实例
- 【大唐杯学习超快速入门】5G技术原理仿真教学——5G网络协议架构
- WP_Windows Phone 7 SDK 官方正式版
- 前端简史之裂变:Ajax变法
热门文章
- 4n35光耦引脚图_在选择光耦继电器的过程中需要注意哪些问题?-先进光半导体...
- mos管电路_【鼎阳硬件智库原创︱电源】 MOS管驱动电路的设计
- 明明输出电压小于5V,单片机ADC测量到数值却一直为5V,解决方法
- 非此即彼的逻辑错误_MBA逻辑攻略-逻辑知识大全,快来收藏吧!
- scanner怎样回到文件开头_Radare2逆向分析dex/so/二进制等文件的使用方法
- python windows 消息通讯_python获取windows信息
- 所长不会用计算机,梅州市公安局: 两派出所所长不会电脑被停职
- vuecli3修改html,详解vue-cli3多页应用改造
- linux inode详解
- centos中ifcfg-eth0配置ip后,重启network服务提示地址已被使用