当前位置: 首页 > news >正文

【ES6】在ES6中自定义数组

在ES6中是允许自定义类扩展基础类型的,因为这些基础类型是有构造函数的,在JS中类就是函数。

// 自定义数组
class myArray extends Array {
    constructor() {
      super();
    }
}

let arr = new myArray();

arr.push(1);

console.log(arr);

重写Array的原生方法

ES6的Class支持重写父类方法,下面是一个简单的测试:

// 自定义数组
class myArray extends Array {
    constructor() {
      super();
    }
    // 重写Array的原生方法
    push(item){
        console.log("自定义子类重写的")
        super.push(item);
    }
}

let arr = new myArray();

arr.push(100);

console.log(arr);

创建类似GDScript的类型化数组

ES6中有类型化数组的概念,但类似于GDScript中的紧缩数组的概念,而且仅支持几种数字类型。

而我想创建的是类似Array[Type]这种形式的。可以基于自定义Array类型,并在构造函数中传入类型,并重写全部方法的形式,获得一个通用的形式。

相关文章:

  • STM32 HAL库实战:高效整合DMA与ADC开发指南
  • 向智能辅助驾驶的道路车道线检测算法研究
  • Franka机器人ROS 2 发布:赋能机器人研究和行业应用
  • 职坐标IT技能提升全攻略
  • 得物,蓝禾,快手,优博讯,三七互娱,途游游戏,顺丰,oppo,游卡,汤臣倍健,康冠科技,作业帮25春招内推
  • 驾培市场与低空经济无人机融合技术详解
  • MongoDB分页实现方式对比:PageRequest vs Skip/Limit
  • 用C# Newtonsoft.Json库实现JSON数据中某个字段值的提取
  • 【Academy】XML 外部实体 (XXE) 注入 ------ XML external entity (XXE) injection
  • 13 | 实现统一的错误返回
  • 线程同步与互斥
  • 【简答题003】Java运算符简答题
  • 卷积神经网络(笔记02)
  • 【一文精通JAVA | 第四篇】抽象类接口
  • docker部署jenkins,安装使用一条龙教程
  • 蓝桥杯嵌入式组第十二届省赛题目解析+STM32G431RBT6实现源码
  • 笔试刷题专题(一)
  • c++ enum使用笔记
  • 介绍如何使用RDDM(残差噪声双扩散模型)进行知识蒸馏
  • qt+opengl 播放yuv视频
  • 演员发文抵制代拍获粉丝支持,媒体:追星“正确姿势”不妨多来点
  • 母亲节|写给妈妈
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 韩国前国务总理韩德洙加入国民力量党
  • 工程院院士葛世荣获聘任为江西理工大学校长
  • 欧洲史上最严重停电事故敲响警钟:能源转型如何保证电网稳定?