ES6中WeakMap和WeakSet

这篇具有很好参考价值的文章主要介绍了ES6中WeakMap和WeakSet。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里重点说一下它们和对应的set、map的区别

  • WeakSet
  1. 不能遍历,没有forEach,没有size
  2. 只能添加对象
  3. 垃圾回收器完全不考虑WeakSet对该对象的引用。
  • WeakMap
  1. 键只能是对象
  2. 它的键存储的地址不会影响垃圾回收。
let obj ={
            name: 'Tom',
            age: 20
        }
 let map  = new WeakMap();
 obj = null; // 当obj设置为空之后,obj指向的这块内存地址就会被垃圾回收器回收
 console.log(map);

打印结果如下,我们发现map中键值也没呢。
ES6中WeakMap和WeakSet,ES6,js,前端,es6,jvm,前端文章来源地址https://www.toymoban.com/news/detail-732578.html

到了这里,关于ES6中WeakMap和WeakSet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端面试问题汇总 - ES6篇

    let 和 const 声明 : 引入块级作用域的变量声明方式,let 声明的变量可重新赋值,const 声明的变量不可重新赋值。 箭头函数 (Arrow Functions): 提供了更简洁的函数定义语法,并且没有自己的 this、arguments、super 或 new.target,这些值继承自执行上下文。 模板字符串 (

    2024年04月16日
    浏览(40)
  • 前端基础(ES6 模块化)

    前言:前面学习了js,引入方式使用的是script s\\\"XXX.js\\\",今天来学习引入文件的其他方式,使用ES6 模块化编程,学习组件化编程中的全局注册和局部注册的方法。 目录 复习 ES6 模块化导出导入 解构赋值 导入js文件 export default 全局注册 局部注册 回顾前面学习内容,用script s\\\"

    2024年02月11日
    浏览(45)
  • JS--es6模板字符串

    一、模板字符串空格 二、模板字符串换行 1.转义 2.缩进换行

    2024年02月16日
    浏览(39)
  • 第一章前端开发ES6基础

    认识ES6 概述 ES6表示ECMAScript规范的第六版,正式名称为 ECMAScript 2015 ,ECMAScript是由ECMA国际标准组织制定的一项 脚本语言 的标准规范化,引入了许多新特性和语法。 其中包括 箭头函数、let和const声明、类、模板字符串、解构赋值、参数默认值、展开操作符、Promise 等等。这些

    2024年02月08日
    浏览(36)
  • 前端小白的学习之路(ES6 一)

    提示:声明:let与const,长度单位:em与rem,vw与wh,解构赋值,箭头函数(简介) 目录 一、ES6介绍 二、letconst 1.let 1) 用 let 声明的变量不能提前引用 2) 不允许重复声明变量 3) 可以产生块级作用域 { }   总结 2.const 三、 长度单位 1.em与rem 1).em 2).rem 2.vw与vh 四、 解构赋

    2024年04月15日
    浏览(37)
  • 第二章前端开发ES6基础

    目录 扩展运算符 概述 语法 应用 模板字符串 概述 应用 内置对象扩展 概述 数组扩展方法 字符串扩展方法 set数据结构 概述 基本使用 操作方法 遍历方法 认识symbol 概述 作用 基本使用 项目 扩展运算符 概述 扩展运算符(spread operator)是 ES6 中新增的一种运算符,用 三个点(

    2024年02月07日
    浏览(35)
  • JS(es6)同时给多个变量赋值

    在ES6中,可以使用解构赋值语法同时给多个变量赋值。解构赋值语法可以从数组或对象中提取值,并将其赋给多个变量。 1. 数组解构赋值: 2. 对象解构赋值: 3. 数组和对象同时进行解构赋值:

    2024年02月15日
    浏览(39)
  • 【Js】数组(包括es6)方法大集合

    数组方法(包括es6) 1、arr.push() 从后面添加元素,返回值为添加完后的数组的长度 , 改变原数组 2、arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素 ( 改变原数组 ) 3、arr.shift() 从前面删除元素,只能删除一个 返回值是删除的元素( 改变原数组 ) 4、arr.unshift(

    2023年04月16日
    浏览(28)
  • ES6+--》熟知JS中的async函数

    目录 async函数 await 表达式 async使用形式 async读取文件 async发送AJAX请求 与生成器(Generator)相比 async函数的返回值为 promise 对象,promise对象的结果由async函数执行的返回值决定。async函数能使得异步操作变得更加方便,简而言之就是 Generator 的语法糖。 定义async函数,特点是即便

    2024年01月17日
    浏览(31)
  • 前端面试:【前端工程化】CommonJS 与 ES6 模块

    嗨,亲爱的前端开发者!在现代Web开发中,模块化是构建可维护和可扩展应用程序的关键。本文将深入探讨两种主要的JavaScript模块系统:CommonJS 和 ES6 模块,以帮助你了解它们的工作原理、用法以及如何选择合适的模块系统。 1. CommonJS: 用途: CommonJS 是一种模块系统,最初

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包