前端基础学习|青训营笔记

112 阅读2分钟

JavaScript

数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

TypeScript

var是javascript中的一个关键字,用于定义变量、函数、对象等。JavaScript中所有的变量均可通过var关键字来定义。

TypeScript支持与JavaScript几乎相同的数据类型,多了个枚举类型enum。

定义变量格式:let [变量名称]: [数据类型],如let isDone: boolean = false;

元组 Tuple

我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。

元组中允许存储不同类型的元素,元组可以作为参数传递给函数。元组为方法返回多个值提供了便捷。C#新特性也有元组和解构概念。

创建元组的语法格式如下:

var tuple_name = [value1,value2,value3,…value n]

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组。

解构元组

我们也可以把元组元素赋值给变量,如下所示:

var a =[10,"Runoob"]

var [b,c] = a

console.log( b )

console.log( c )

编译以上代码,得到以下 JavaScript 代码:

var a = [10, "Runoob"];

var b = a[0], c = a[1];

console.log(b);

console.log(c);

输出结果为:

10

Runoob

Null 和 Undefined

默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。

然而,当你指定了--strictNullChecks标记,null和undefined只能赋值给void和它们各自。

Never

never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。

never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。

never的主要作用就是充当Typescript类型系统里的Bottom Type (Typescript还有个top type unknown和即是top也是bottom的any)。

关于let 

我们使用let关键字来代替大家所熟悉的JavaScript关键字var。 let关键字是JavaScript的一个新概念,TypeScript实现了它。 我们会在以后详细介绍它,很多常见的问题都可以通过使用 let来解决。