《深入理解ES6》阅读随笔
渊源
定型数组最早出现在 WebGL 中,它移植于 OpenGL ES 2.0,在 web 中的呈现形式是 canvas。
由来
在 JavaScript 中,数字类型的变量都以 64 位浮点型数据格式存储;比如新建一个只需要 8 比特的整数,也需要为其开创 64 位存储空间,很浪费资源,效率也低。在 ES6 中正式引入了定型数组的概念,用于解决该类问题。
异同
定型数组跟普通数组很类似,形式很像,方法也有很多相同,但是定型数组并不是普通数组:
- 它不继承自普通数组(Array);
- 定型数组中只能存固定类型(数字)的数据,而普通数组则可以存任意类型的数据;
- 定型数组的长度是固定的,不可动态改变,而普通数组则可以动态改变;一些普通数组中读写元素的方法,在定型数组中是可以继续使用的,比如 find、findIndex、fill、copyWithin 等等大多数方法;但是像 push、pop、shift、unshift 等等用于裁剪数组的方法则不可使用。
网友评论