《前端之路》 - 初试 TypeScript(一)基础数据类型
一、先讲讲 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;
被编译成
ES5
的JavaScript
"use strict";
var isBool = false;
2.1.2 Number (数字类型)
TypeScript
语法
let nums: number = 123;
被编译成
ES5
的JavaScript
"use strict";
var nums = 123;
2.1.3 String (字符串类型)
TypeScript
语法
let str: string = "123";
被编译成
ES5
的JavaScript
"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" }];
被编译成
ES5
的JavaScript
"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"];
被编译成
ES5
的JavaScript
"use strict";
var tupleArr;
tupleArr = [123, "123"];
2.1.6 Enum (可枚举类型)
稍微解释下什么叫可枚举类型,因为这对于大多数只了解 JS 的前端开发者来讲是一个新的数据类型,但是 `可枚举类型` 在 c/c#/java 中已经是非常常见的了。一句话概括就是,枚举是组织收集有关联变量的一种方式。来,我们先举个
《前端之路》 - 初试 TypeScript(一)基础数据类型的更多相关文章
- 《前端之路》- TypeScript(二) 函数篇
目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...
- 《前端之路》- TypeScript (三) ES5 中实现继承、类以及原理
目录 一.先讲讲 ES5 中构造函数(类)静态方法和多态 1-1 JS 中原型以及原型链 例子一 1-2 JS 中原型以及原型链中,我们常见的 constructor.prototype.**prot ...
- 《前端之路》- TypeScript (四) class 中各类属性、方法,抽象类、多态
目录 一.TypeScript 中的类 二.TypeScript 中类的继承 三.TypeScript 中公共,私有与受保护的修饰符 3-1.属性的 public 3-2.属性的 private 3- ...
- TypeScript_基础数据类型
TypeScript 的基础数据类型包含: string.number.boolean.array .object.null.undefined.enmu.void.never.any.tuple 注 ...
- TypeScript基础数据类型
Typescript与Javascript 二者的区别 作为前端开发的基础语言javascript已经深入人心,人人皆知.作为变成入门的最简单语言,Javascript语言以动态.弱类型语言而著名,学 ...
- TypeScript学习指南第一章--基础数据类型(Basic Types)
基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...
- Python之路-基础数据类型之列表 元组
列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- TypeScript之基本数据类型
前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...
随机推荐
- 【Linux_Shell 脚本编程学习笔记六、shell的数值运算】
1.bc 命令的用法(可以整数也可以小数): bc是 UNIX下的计算器,它也可以用在命令行下面: 例: 给自变量 i 加 1 [root@docker Demo_test]# i= [root@do ...
- struts 2.1.8.1的sx:datetimepicker标签出现NaN错误的原因和解决办法
作者:Junsan.Jin 邮箱:junsanjin@gmail.com QQ:1305896503 本文原始地址:http://www.rsky.com.cn/Article/java/201 ...
- Redmine it!
redmine插件开发简介 最稳妥的学习应该是先看官方文档,官方还给了一个具体的插件开发教程,不过如果一步不差按照教程敲代码,其实会发现还是有些问题的,需要稍稍改动. 这里,我自己编写了一个简单的插件 ...
- [LC] 129. Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- Linux(Centos7.X ) 配置Java 环境变量
前提条件:上传Jdk 文件到Linux服务器上. tar -zxvf jdk-8u111-linux-x64.tar.gz 修改 /etc/profile 在打开的文件末尾添加如下内容: export ...
- Apache2配置腾讯云SSL证书
首先去腾讯云申请免费的SSL证书,下载下来解压后里面有一个Apache文件夹,里面有三个文件,接下来会用到. 上传证书 将上一步的三个文件上传到/etc/ssl里 启用SSL模块 启用a2enmod ...
- unittest(12)- 学习读取配置文件
1.配置文件格式 2.读取配置文件 import configparser """ 通过读取配置文件,来执行相应的测试用例 配置文件分为2个部分 第一部分:[SECTIO ...
- 云服务器——之Linux下安装tomcat
在上一篇文章中已经准备好了tomcat安装的基本环境jdk的安装,那么我们现在来记录tomcat的安装. 第一步:下载tomcat安装包 http://tomcat.apache.org/ 第二步:通 ...
- python ATM项目
1.需求: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息 ...
- Django ORM必会13条之外的查询方法
基于双下划线的查询 # 价格 大于 小于 大于等于 小于等于 filter(price__gt=') # 筛选出大于90 filter(price__lt=') # 筛选出小于90 filter(pr ...