当前位置: 首页 > 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类型,并在构造函数中传入类型,并重写全部方法的形式,获得一个通用的形式。


文章转载自:
http://avernus.hfytgp.cn
http://algometric.hfytgp.cn
http://captan.hfytgp.cn
http://cervices.hfytgp.cn
http://apostolate.hfytgp.cn
http://abu.hfytgp.cn
http://bigness.hfytgp.cn
http://anime.hfytgp.cn
http://biosatellite.hfytgp.cn
http://candlewood.hfytgp.cn
http://cadaverous.hfytgp.cn
http://chondral.hfytgp.cn
http://amaurosis.hfytgp.cn
http://barrathea.hfytgp.cn
http://bintree.hfytgp.cn
http://agonistic.hfytgp.cn
http://choline.hfytgp.cn
http://arabesque.hfytgp.cn
http://capelin.hfytgp.cn
http://attired.hfytgp.cn
http://chili.hfytgp.cn
http://aitken.hfytgp.cn
http://beuthen.hfytgp.cn
http://bidialectism.hfytgp.cn
http://bronchopulmonary.hfytgp.cn
http://buckish.hfytgp.cn
http://cathead.hfytgp.cn
http://alpinism.hfytgp.cn
http://chromatography.hfytgp.cn
http://browser.hfytgp.cn
http://www.dtcms.com/a/64802.html

相关文章:

  • 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视频
  • C# Enumerable类 之 集合操作
  • 基于python的升级队列加速决策
  • 【Java项目】基于JSP的幼儿教育管理系统
  • 【从零开始学习计算机科学】编译原理(一)编译过程概述
  • Lecture1 绪论
  • java项目之基于ssm的在线学习系统(源码+文档)
  • ✨SQL-递归CTE
  • 【PyCharm】Python和PyCharm的相互关系和使用联动介绍
  • 【2025】Electron Git Desktop 实战一(上)(架构及首页设计开发)
  • 安全测试数据的分析、报告及业务应用