初始TypeScript
什么是TypeScript?
TypeScript是拥有类型系统的JavaScript的超集,可以编译成纯JavaScript:
1.类型检查:TS会在编译代码时进行严格的静态类型检查,这意味着可以在编码阶段发现可能存在的隐患,而不是带到线上去。
2.语言扩展:TS会包括来自ES6和未来提案中的特性,如异步操作和装饰器,也会从其他语言借助某些特性,如接口和抽象类。
3.工具类型:TS可以编译成标准的JS,可以在任何浏览器和操作系统上运行,从这个角度讲,它更像是个工具,而不是一门独立的语言。
为什么要使用TypeScript?
其他好处,比如:
VSCode具有强大的自动补全、导航和重构功能,这使得接口定义可以直接代替文档,同时也可以提高开发效率,降低维护成本。
TS可以帮团队重塑“类型思维”,接口的提供方将被迫去思考API的边界,他们将从代码的编写者蜕变为代码的设计者。
强类型语言和弱类型语言
强类型语言
在强类型语言中,当一个对象从调用函数传递到调用函数时,其类型必须与被调用函数中声明的类型兼容
通俗定义:强类型语言不允许改变变量的数据类型,除非进行强制类型转换

弱类型语言
在弱类型语言中,变量可以被赋予不同的数据类型


JavaScript与C++对比

静态类型与动态类型对比

强类型语言:不允许程序在发生错误后继续执行
语言象限

初始TypeScript的更多相关文章
- CesiumJS新增官方TypeScript类型定义
		
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 在当前的1.70版本中,CesiumJS现在附带了正式的Type ...
 - 转载:《TypeScript 中文入门教程》 2、枚举
		
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 由于第一章节是我翻译的,而且与他的版本不一致,导致第一章节有枚举这部分,而他的第二章节 ...
 - TypeScript  Class(类)
		
传统的JavaScript注重用函数和基于原型的继承来创建可复用的组件,但这可能让用习惯面对对象方式的程序员感到棘手,因为他们的继承和创建对象都是由类而来的.从JavaScript的下一个版本,ECM ...
 - TypeScript学习笔记(二):基本数据类型及数据转换
		
数据类型 我们来看看TypeScript中的基本数据类型都有哪些. boolean 布尔值,支持true和false. var isDone: boolean = false; 默认为undefine ...
 - angular2 学习笔记 (Typescript)
		
1.接口奇葩验证 interface Abc { name : string } function abc(obj : Abc) { } let ttc = { name: "adad&qu ...
 - TypeScript入门-枚举、类型推论
		
枚举 使用枚举可以定义一些具有名字的数字常量,和在C语言中一样都是使用关键字enum enum Direction { Up = 1, Down = 1<<2, Left, Right } ...
 - JavaScript面向对象轻松入门之抽象(demo by ES5、ES6、TypeScript)
		
抽象的概念 狭义的抽象,也就是代码里的抽象,就是把一些相关联的业务逻辑分离成属性和方法(行为),这些属性和方法就可以构成一个对象. 这种抽象是为了把难以理解的代码归纳成与现实世界关联的概念,比如小狗这 ...
 - 从 JavaScript 到 TypeScript
		
本文首发在我的个人博客:http://muyunyun.cn/posts/66a54fc2/ 文中的案例代码已经上传到 TypeScript TypeScript 并不是一个完全新的语言, 它是 Ja ...
 - 迈向angularjs2系列(1):typescript指南
		
typescript指南 前言 typescript是angularjs2推荐使用的脚本语言.它由微软2012年首次发布. 一. typescript和javascript的区别 1.从遵循的规 ...
 
随机推荐
- CSS系列 (04):盒模型详解
			
盒模型 CSS盒模型分成W3C标准盒模型和IE模型 W3C标准盒模型(默认):box-sizing: content-box padding和border都会撑开盒子,改变盒子的宽度高度 总宽度:wi ...
 - 处理xls文件
			
package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...
 - MySQL为Null会导致5个问题,个个致命!
			
在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示: "兵马未动粮草先行",看完了相关的配置之后,我们先来创建一张测试表和一些测试数据. -- 如果存在 ...
 - Redis 设计与实现 8:五大数据类型之哈希
			
哈希对象的编码有两种:ziplist.hashtable. 编码一:ziplist ziplist 已经是我们的老朋友了,它一出现,那肯定就是为了节省内存啦.那么哈希对象是怎么用 ziplist 存储 ...
 - ES快速开发,ElasticsearchRestTemplate基本使用以及ELK快速部署
			
最近博主有一些elasticsearch的工作,所以更新的慢了些,现在就教大家快速入门,并对一些基本的查询.更新需求做一下示例,废话不多说开始: 1. ES快速上手 es下载:[https://ela ...
 - codeforces 1451D,一道有趣的博弈论问题
			
大家好,欢迎来到codeforces专题. 今天选择的问题是Contest 1451场的D题,这是一道有趣简单的伪博弈论问题,全场通过的人有3203人.难度不太高,依旧以思维为主,坑不多,非常友好. ...
 - Redis学习之路(四)Redis-cluster java api操作
			
import redis.clients.jedis.HostAndPort;import redis.clients.jedis.JedisCluster;import java.util.Hash ...
 - 从零开始的C程序设计大作业——学生成绩管理系统
			
前言 学生成绩管理系统可以说是C语言程序设计的结课的必备大作业了.花了些时间,费了些头发肝了下,完成了两个系统,一个是控制台版本的,另一个用easyx图形库进行了优化. 先放出完成后的演示图片占个坑. ...
 - 醒醒!Python已经支持中文变量名啦!
			
最近,我在翻阅两本比较新的 Python 书籍时,发现它们都犯了一个严重的低级错误! 这两本书分别是<Python编程:从入门到实践>和<父与子的编程之旅>,它们都是畅销书,都 ...
 - 想学Python不知如何入门,教你!
			
一.入门引导 想必有很多小伙伴想学习Python,又不知道如何入门,总觉得学习一定要头悬梁,锥刺股!NO,今天给大家分享下如何轻松入门Python! 首先,我们要学习Python,那一定要和你 ...