VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • (一)typescript初识

相信一般大家在刚开始接触typescript的时候,都会有这样一个疑问,为什么要用typescript呢?是因为JavaScript不好吗?typescript又好在哪里呢?那么接下来我们就带着这些疑问往下看。

 

使用JavaScript开发会遇到的问题

1.使用了不存在的变量、函数或方法

复制代码
 1 let myname = 'yzr';
 2 console.log(myneam);​
 3 function getName() {
 4   return 'yzr';
 5 }
 6 getNeam();​
 7 let myObj = {
 8   getName: function() {
 9     return 'yzr'
10   }
11 }
12 
13 myObj.getNeme();
14 
15// 以上代码经常造成以下报错:
16 
17 // xxx is not defined
18 
19 // xxx is not a function
复制代码


2.把一个不确定的类型当作一个确定的类型处理

复制代码
1 function getUserName() {
2   if (Math.random() < 0.5) {
3     return 'user name'
4   }
5   return 404
6 }
7 console.log(getUserName().split(' ')[0])
8 9 // getUserName(...).split is not a function
复制代码

 

3.读取null或者undefined的属性

在处理接口数据时,若期望得到的是对象,但得到的却是null或undefined,会经常遇到各种报错

 

为什么会有这些问题?主要原因有:

1.js是弱类型语言,某个变量可以随时更换类型,比如: 

1 let a = 1;
2 a = '123';

 

2.js是解释型语言,在浏览器运行时才能看到错误。

而我们写代码时无法感知到错误,包括很简单的错误(变量名、函数名写错)这些问题虽然看上去简单,但是会占用我们大量的前端开发时间

 

有什么能解决这些问题呢?

那当然是我们的主角typescript啦!

先来看下什么是typescript,以下是官方定义:

TypeScript 是一个开源的编程语言,通过在 JavaScript(世界上最常用的语言之一) 的基础上添加静态类型定义构建而成。类型提供了一种描述对象形状的方法。可以帮助提供更好的文档,还可以让 TypeScript 验证你的代码可以正常工作。在 TypeScript 中,不是每个地方都需要标注类型,因为类型推断允许您无需编写额外的代码即可获得大量功能。

简而言之,typescript是js的超集,是一个可选的、静态的类型系统。

 

什么是超集?

超集就是指支持js的所有语法,但是又比js多出了一些“类型检查”

什么是类型系统?

对代码中所有的标识符(变量、函数、参数、返回值)进行类型检查

有了类型检查,增强了面向对象的开发

什么是可选的?

在项目中可以选择性使用

什么是静态的?

表示类型检查在编译时,而非运行时。

由于浏览器和node都无法直接识别ts代码,所以ts代码要使用tsc(ts编译器)编译成js代码。

 

typescript相较于js有哪些优势

1.ts的类型系统,可以极大减少类型错误(uncaught typeError)

2.使得维护和重构代码更加容易(若改动一处代码,其他有依赖关系的地方会有直观的提示信息)

3.补充了接口、枚举等功能,使得ts适用于大型应用开发。

 

typescript由来

2012年由微软发布,作者是Anders Hejlsbergtypescript官网:https://www.typescriptlang.org/zh/


相关教程