理解 JavaScript:不可变的原始值与可变的对象引用

JavaScript 中的原始值(undefained、null、布尔值、数字和字符串)与引用值(对象,数组,函数等)有着根本的区别。

存储方式
原始值
存储在stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。
引用值
存储在heap)中的对象,也就是说,存储在变量处的值是一个指针point),指向存储对象的内存处。

为变量赋值时,JavaScript 的解释程序必须判断该值是原始类型,还是引用类型。要实现这一点,解析程序则需尝试判断该值是否为 JavaScript 的原始类型之一,即 Undefined、Null、Boolean、Number 和 String 型。由于这些原始类型占据的空间是固定的,所以可将他们存储在较小的内存区域——栈中。这样存储便于迅速查寻变量的值。

查看全文

学习 TypeScript:Classes

TypeScript 提前实现了 ES6 中经典的面向对象的类,官网教程:Classes

简单的例子

查看全文

学习TypeScript:Interfaces

TypeScript中的Interface用于规范函数,对象,类的数据格式,官方教程:Interfaces

第一次尝试

先看一种简单的方式,不用interface的情况下如何规则参数类型:

查看全文