一、先讲讲 TypeScript

什么是 typeScript ?

typeScript 是 Javascript 的超集 我们用一张图来简单介绍下 ts 和 js 清清楚楚明明白白的关系~

为什么会出现 typeScript

在说 typeScript 之前 ,我们先了解下 Javascript。

JS里面一切皆为对象,通过原型链来定义了系列不同类型数据的原生方法,然后给到了系列可以改变上下文的奇淫巧技,让 JS 在使用起来的时候可以非常方便,不需要考虑过多,链上了咱们就疯狂使用,这样真的好么?( 灵魂拷问 )

而且在数据类型上,JS 也是没有过多的限制,只要你定了这个变量且赋值了,那么在该变量未被销毁之前,你也可以疯狂改变它的数据类型(基础数据类型)

在有了几年的开发经验之后,特别是参与过大型项目开发的同学就会发现,对于初学者来讲非常方便友好的特性,突然就变成了bug制造机。往往因为数据类型的判断,JS 都给出了一系列的方法,而且都还不是特别准确,这让一项严谨的开发者们变的有些不那么严谨,那么 typeScript 就出现了,让编程这项本来就需要非常严谨的工作,回归了本质。 这或许就是 typeScript 出现的原因。

如何使用 typeScript

如何使用的话题,其实对于有过几年的开发者来讲,最简单且最快速的学习方法就是打开 他们的官方文档,typeScript官方文档

但是了,我在阅读过程中查到了新的版本文档,阅读起来人性化了很多,这里也奉上地址 typeScript官方文档-V2

下面我们就先针对 typeScript 的基础知识来进行复习一下

二、 typeScript 的数据类型 (Basic Types)

typeScript 的 Basic Types 包含了哪些呢?

  • Boolean (布尔类型)
  • Number (数字类型)
  • String (字符串类型)
  • Array (数组类型)
  • Tuple (元组类型)
  • Enum (可枚举类型)
  • Any (任意类型)
  • Void (Void 类型)
  • Null & Undefined
  • Never (Never 类型)
  • Object (object 类型-非原始类型)
2.1.1 Boolean (布尔类型)

TypeScript 语法

let isBool: Boolean = false;

被编译成 ES5JavaScript

"use strict";
var isBool = false;
2.1.2 Number (数字类型)

TypeScript 语法

let nums: number = 123;

被编译成 ES5JavaScript

"use strict";
var nums = 123;
2.1.3 String (字符串类型)

TypeScript 语法

let str: string = "123";

被编译成 ES5JavaScript

"use strict";
var str = "123";
2.1.4 Array (数组类型)

TypeScript 语法

// 纯数组类型数组表示方式
let arr0: number[] = [123, 123];
// 使用数组泛型
let arr1: Array<number> = [123, 345];
let arr2: Array<string> = ["123", "345"];
let arr3: Array<any> = [123, "345", { title: "123" }];

被编译成 ES5JavaScript

"use strict";
// 纯数组类型数组表示方式
var arr0 = [123, 123];
// 使用数组泛型
var arr1 = [123, 345];
var arr2 = ["123", "345"];
var arr3 = [123, "345", { title: "123" }];
2.1.5 Tuple (元组类型)
稍微解释下什么叫元组类型,元组类型本质上也属于 数组类型的一种,是数组类型的子集,然后不同的一点在于,元组类型的数据长度是已知的。就是说我们为这里每一位数组中的数据定义类型。那这种类型就叫 ##元组类型##

TypeScript 语法

let tupleArr: [number, string];
tupleArr = [123, "123"];

被编译成 ES5JavaScript

"use strict";
var tupleArr;
tupleArr = [123, "123"];
2.1.6 Enum (可枚举类型)
稍微解释下什么叫可枚举类型,因为这对于大多数只了解 JS 的前端开发者来讲是一个新的数据类型,但是 `可枚举类型` 在 c/c#/java 中已经是非常常见的了。一句话概括就是,枚举是组织收集有关联变量的一种方式。来,我们先举个												

《前端之路》 - 初试 TypeScript(一)基础数据类型的更多相关文章

  1. 《前端之路》- TypeScript(二) 函数篇

    目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...

  2. 《前端之路》- TypeScript (三) ES5 中实现继承、类以及原理

    目录 一.先讲讲 ES5 中构造函数(类)静态方法和多态 1-1 JS 中原型以及原型链 例子一 1-2 JS 中原型以及原型链中,我们常见的 constructor.prototype.**prot ...

  3. 《前端之路》- TypeScript (四) class 中各类属性、方法,抽象类、多态

    目录 一.TypeScript 中的类 二.TypeScript 中类的继承 三.TypeScript 中公共,私有与受保护的修饰符 3-1.属性的 public 3-2.属性的 private 3- ...

  4. TypeScript_基础数据类型

    TypeScript 的基础数据类型包含: string.number.boolean.array .object.null.undefined.enmu.void.never.any.tuple 注 ...

  5. TypeScript基础数据类型

    Typescript与Javascript 二者的区别 作为前端开发的基础语言javascript已经深入人心,人人皆知.作为变成入门的最简单语言,Javascript语言以动态.弱类型语言而著名,学 ...

  6. TypeScript学习指南第一章--基础数据类型(Basic Types)

    基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...

  7. Python之路-基础数据类型之列表 元组

    列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...

  8. 百万年薪python之路 -- 基础数据类型的补充

    基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...

  9. TypeScript之基本数据类型

    前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...

随机推荐

  1. 学习python-20191208(2)-Python Flask高级编程开发鱼书_第03章_数据与flask路由

    视频06: 定义静态方法的两种方式: 1.在方法上方加上装饰@staticmethod 2.在方法上方加上装饰@classmethod  方法中要加参数cls  如:def search_by_isb ...

  2. Django常见错误总结

    1 ImportError: No module named 'MySQLdb' 解决方法: . 安装pymysql模块 . 在app的__init__.py文件中写入以下内容 import pymy ...

  3. Qt 多线程QThread实现方法之一

    基本思想 在主线程中,哪里需用多线程,就在哪里创建一个QThread实例: 把耗时操作封装到一个继承于QObject的子类(这里叫做工作类Worker)槽函数中: 创建QThread实例和Worker ...

  4. 详解JavaScript Document对象

    转自:http://segmentfault.com/a/1190000000660947 在浏览器中,与用户进行数据交换都是通过客户端的javascript代码来实现的,而完成这些交互工作大多数是d ...

  5. webStrom 运行React-Native项目

    1.点击“Edit Configurations...” 2.点击“+”选择“npm” 3.“Name”随便输入一个名称,“Command”改为“help”,然后在点击“+”号. 4.选择“Run E ...

  6. IDEA 中tomcat上面有个x 而且找不到配置tomcat的选项

    在使用idea时候,准备启动服务器,tomcat突然上面有个xx 解决方式 在 File-settings-plugins 搜索tomcat 如果插件后面有 就重新取消之后再勾选,然后点应用就可以解决 ...

  7. 如何创建Hexo站点的Tags和Categories默认页面

    安装Hexo的categories生成插件 1 $ npm install hexo-generator-category --save 安装Hexo的Tags生成插件 1 $ npm install ...

  8. C++入门级小算法

    反序输出一个整数 #include <iostream> using namespace std; int main() { int n; while (cin >> n)// ...

  9. VRRP笔记二:配置keepalived为实现haproxy高可用的配置文件示例

    ! Configuration File for keepalived global_defs { notification_email { linuxedu@foxmail.com mageedu@ ...

  10. Nginx笔记总结二:Nginx编译参数

    -prefix=                                                    安装路径-with-http_ssl_module               ...