返回顶部
首页 > 资讯 > 前端开发 > html >es6中的symbol属于基本类型吗
  • 330
分享到

es6中的symbol属于基本类型吗

2024-04-02 19:04:59 330人浏览 独家记忆
摘要

这篇文章主要为大家展示了“es6中的symbol属于基本类型吗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中的symbol属于基本类型吗”这篇文章吧。

这篇文章主要为大家展示了“es6中的symbol属于基本类型吗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中的symbol属于基本类型吗”这篇文章吧。

es6 symbol属于基本类型。symbol是es6中引入的一种新的基本数据类型,表示独一无二的值;其作用是防止属性名的冲突,保证对象中每一个属性名都是独一无二的。

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

Symbol是一种基本数据类型,一种在ES6引入的新的数据类型。

目的是为了防止属性名的冲突,保证对象中每一个属性名都是独一无二的。

let s1 = Symbol('foo');
let s2 = Symbol('foo');

s1 === s2 // false

Symbol类型可以有一个字符串参数,表示对Symbol实例的描述。所以相同描述的两个Symbol类型实例也是不相等的。

如何在对象中使用

let s = Symbol();

// 第一种写法
let a = {};
a[mySymbol] = 'Hello!';

// 第二种写法
let a = {
  [mySymbol]: 'Hello!'
};

// 第三种写法
let a = {};
Object.defineProperty(a, mySymbol, { value: 'Hello!' });

// 以上写法都得到同样结果
a[mySymbol] // "Hello!"

可以看出使用Symbol类型当属性名,必须使用[]才可以。如果不使用则表示与变量名相同字符串当属性名的属性。

Symbol作为属性名,遍历对象的时候,该属性不会出现在for...infor...of循环中,也不会被Object.keys()Object.getOwnPropertyNames()JSON.stringify()返回

但是,它也不是私有属性,有一个Object.getOwnPropertySymbols()方法,可以获取指定对象的所有Symbol属性名。该方法返回一个数组,成员是当前对象的所有用作属性名的Symbol值。

如何使用同一个Symbol值

Symbol.for("bar") === Symbol.for("bar")
// true

使用Symbol.for()方法,同样参数创建的变量就是同一个值。因为使用这个方法创建的Symbol变量会把参数在全局登记。而Symbol()创建的变量的参数则不会在全局登记。

let s1 = Symbol.for("foo");
Symbol.keyFor(s1) // "foo"

let s2 = Symbol("foo");
Symbol.keyFor(s2) // undefined

使用Symbol.keyFor()则可以变量找到全局登记的参数的名字。

Symbol内置的属性值

Symbol.hasInstance:其它对象使用instanceof运算符的时候会使用该属性名指向的内部方法。

Symbol.isConcatSpreadable

Symbol.species

Symbol.match

Symbol.replace

Symbol.search

Symbol.split

Symbol.iterator

Symbol.toPrimitive

Symbol.toStringTag

Symbol.unscopables

以上是“es6中的symbol属于基本类型吗”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: es6中的symbol属于基本类型吗

本文链接: https://lsjlt.com/news/92526.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • es6中的symbol属于基本类型吗
    这篇文章主要为大家展示了“es6中的symbol属于基本类型吗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中的symbol属于基本类型吗”这篇文章吧。 ...
    99+
    2024-04-02
  • Java中在String属于基础的数据类型吗
    String不属于基础类型,基础类型有8 种:byte、boolean、char、short、int、float、long、double,而String属于对象,String对象是char的有序集合,并且该值是不可变的。...
    99+
    2024-04-02
  • es6中set类型是有序的吗
    这篇文章主要介绍了es6中set类型是有序的吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中set类型是有序的吗文章都会有所收获,下面我们一起来看看吧。es6中set类型是有序的。set类型是es6中新...
    99+
    2023-06-29
  • ES6中Symbol数据类型怎么用
    这篇文章主要介绍ES6中Symbol数据类型怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:Symbol,是ES6中引入的新的数据类型,表示独一无二的值。在面向对象中,...
    99+
    2024-04-02
  • 详细谈谈ES6中的symbol数据类型
    目录symbol数据类型symbol出现的原因Symbol特点symbol的应用在rb对象中添加up和down方法Symbol内置的属性值总结symbol数据类型 js语言中,ES...
    99+
    2024-04-02
  • Javascript ES6中数据类型Symbol怎么用
    这篇文章给大家分享的是有关Javascript ES6中数据类型Symbol怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍Symbol 是一种特殊的、不可变的数据类型,...
    99+
    2024-04-02
  • es6新增的js基本数据类型怎么用
    这篇“es6新增的js基本数据类型怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es...
    99+
    2024-04-02
  • Java中redis的基本类型
    redis存储数据的基本类型有:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。 redis中的每个对象都由一个...
    99+
    2024-04-02
  • JavaScript中5属于什么类型
    JavaScript是一门动态弱类型语言,变量的类型由其值来决定。JavaScript中有七种内置数据类型:基本数据类型(Primitive types):包括Undefined、Null、Boolean、Number和String。这些基...
    99+
    2023-05-20
  • 关于java中基本数据类型与引用数据类型的介绍
    一、基本数据类型byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整...
    99+
    2015-04-05
    java入门 java 基本数据类型 引用数据类型
  • ES6变量赋值和基本数据类型详解
    目录let和constlet和const不存在变量提升暂时性死区(temporal dead zone,简称TDZ)不允许重复声明块级作用域与函数声明const变量解构解构必须左右解...
    99+
    2024-04-02
  • sql中的gender属于什么数据类型
    sql中的性别数据类型通常为字符类型,具体类型因数据库系统而异。常见的类型包括可变长字符varchar、定长字符char、枚举类型enum、布尔类型tinyint(1)。 SQL 中 ...
    99+
    2024-05-02
    mysql
  • 获取基于原始类型的类型的reflect.Kind
    在PHP编程中,获取基于原始类型的类型的reflect.Kind是一项重要的技能。reflect.Kind是PHP提供的反射类库中的一个属性,它可以用来确定一个变量的数据类型。通过使用...
    99+
    2024-02-09
    overflow
  • es6中的class有静态属性吗
    这篇文章主要介绍“es6中的class有静态属性吗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6中的class有静态属性吗”文章能帮助大家解决问题。es6中的class没有静态属性。静态属性是...
    99+
    2023-07-05
  • ES6变量赋值和基本数据类型实例分析
    本篇内容介绍了“ES6变量赋值和基本数据类型实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!let和constlet和const不存在...
    99+
    2023-07-02
  • c++中的基本IO类型详解
    引言 c++不直接处理输入和输出,而是通过标准库中的类型处理IO。IO的设备可以是文件、控制台、string。c++主要定义了三种IO类型,分别被包含在iostream、fstrea...
    99+
    2024-04-02
  • xss属于什么类型的攻击
    xss不属于什么类型的攻击,它称为跨站脚本,是一种经常出现在Web应用程序中的计算机安全漏洞,因Web应用程序对用户的输入过滤不足而产生,而xss有三种类型:反射型、DOM-based 型、存储型,其中反射型、DOM-based 型可归类为...
    99+
    2024-04-02
  • javascript属于什么类型的语言
    这篇文章将为大家详细讲解有关javascript属于什么类型的语言,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体...
    99+
    2023-06-14
  • JavaScript中有什么基本类型
    这篇文章主要为大家展示了“JavaScript中有什么基本类型”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中有什么基本类型”这篇文章吧。 ...
    99+
    2024-04-02
  • 云服务器属于哪个分类管理类型中的
    云服务器通常是指将数据、应用程序和其他资源存储在云端的服务器。它通常是由公有云提供商(如亚马逊、微软、AWS等)、私有云提供商(如谷歌、Facebook、阿里等)或混合云提供商(如VMware、Dropbox、Amazon Web Serv...
    99+
    2023-10-26
    类型 服务器
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作