不属于javascript的数据类型是什么

不属于javascript的数据类型是interface,interface是js中的保留字;而javascript的数据类型有Undefined、Number、Symbol等等。

不属于javascript的数据类型是什么

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript的基本数据类型有:(1)Undefined、(2)Null、(3)Boolean、(4)String、(5)Number、(6)Symbol、(7)Object。ES6 增加了Symbol类型,下面主要是讲Symbol类型的一些相关知识点。

Symbol的特性

1、实例是唯一且不可改变的;一种唯一标识符,可用作对象的唯一属性名,这样其他人就不会改写或覆盖你设置的属性值。

立即学习“Java免费学习笔记(深入)”;

1 let id = Symbol("id");

登录后复制

2、数据类型的特点:唯一性,即使是用同一个变量生成的值也不相等。

1 let id1 = Symbol("id");2 let id2 = Symbol("id");3 console.log(id1 == id2);  //false

登录后复制

3、数据类型的特点:隐藏性,for···in,object.keys() 不能访问。

1 let id = Symbol("id");2 let obj = {3     [id] : 'symbol'          4 }5 for ( let key in obj){6     console.log(obj[key]);  //输出为空7 }

登录后复制

能够访问的方法:Object.getOwnPropertySymbols,会返回一个数组,成员是当前对象的所有用作属性名的 Symbol 值。

1 let id = Symbol("id");2 let obj = {3   [id] : 'symbol'      4 }5 let arr = Object.getOwnPropertySymbols(obj);6 console.log(arr)  // [Symbol(id)]7 console.log(obj[arr[0]]) // 'symbol'

登录后复制

4、可多次使用同一个symbol值,官方提供了全局注册并登记的方法:Symbol.for()

let name1 = Symbol.for("name"); // 检测未创建后新建let name2 = Symbol.for("name"); // 检测已创建后返回console.log(name1 == name2); // true

登录后复制

通过这种方法就可以通过参数值获取到全局的symbol对象了,反之,可以通过Symbol.keyFor()获取到参数值。

let name1 = Symbol.for("name");let name2 = Symbol.for("name");console.log(Symbol.keyFor("name1")); // 'name'console.log(Symbol.keyFor("name2")); // 'name'

登录后复制

5、instanceof 的结果为 false

let s = Symbol('foo');console.log(s instanceof Symbol); // false

登录后复制

注意:在创建symbol类型数据 时的参数只是作为标识使用,所以 Symbol() 作为参数也是可以的。

【推荐学习:javascript高级教程

以上就是不属于javascript的数据类型是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2714182.html

(0)
上一篇 2025年3月7日 21:31:38
下一篇 2025年3月7日 21:31:45

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript是h5吗

    javascrip不是h5,javascrip是一种具有函数优先的轻量级、解释型或即时编译型的编程语言;而h5是指HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式。 本文操作环境:windows7系统、javascri…

    2025年3月7日
    100
  • ajax和javascript区别是什么

    ajax和javascript区别:1、javascript是一种即时编译型的编程语言,而Ajax是一种用于创建更快以及交互性更强的Web应用程序的技术;2、Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。 …

    2025年3月7日
    200
  • 分享ES2019中值得收藏的8个有用功能

    本篇文章给大家介绍es2019 中 8 个非常有用的功能。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 ES2019 规范是对 JavaScript的小规模扩展,但仍带来了一些有趣的功能。本文向你展示八个 ES2019 …

    2025年3月7日
    200
  • javascript特权方法有什么用

    在javascript中,特权方法指那些在查看并处理私有变量的同时,允许用户以公共方法的方式访问的方法。作用:在构造函数外面公开访问(仅限于实例化的对象),而且还能够访问私有成员和方法;通过特权方法可以控制公有方法对私有属性或方法的访问。 …

    2025年3月7日
    200
  • javascript中bind是什么意思

    javascript中bind是EcmaScript5新增的方法,bind()方法用于创建一个新的函数,当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。 本文操作环境:windows7系统…

    2025年3月7日
    200
  • javascript有多少种输出

    javascript有3种输出,分别是:1、“document.write()”输出方式;2、“alert()”输出方式;3、“console.log()”输出方式。 本文操作环境:windows7系统、javascript1.8.5版、D…

    2025年3月7日
    200
  • 详解6个不同级别的组件可重用性概念

    本篇文章给大家详细介绍一下6个不同级别的组件可重用性概念。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 我们所有人都希望编写更少的代码,同时也要做更多的事情。为了实现这一点,我们构建了组件,以便可以多次重用它们。 有些组…

    2025年3月7日
    200
  • javascript find()方法有什么用

    js中find()方法用于返回通过测试(函数内判断)的数组的第一个元素的值,如果没有符合条件的元素返回“undefined”;基本语法“array.find(function(当前元素, 索引, 数组对象))”。 本教程操作环境:windo…

    2025年3月7日
    200
  • javascript中字符串替换函数是什么

    在javascript中,字符串替换函数是“replace()”。replace()用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,语法“string.replace(searchvalue,newvalue)”。…

    2025年3月7日
    200
  • javascript push()方法有什么用

    在javascript中,push()方法可以向数组的末尾添加一个或多个元素,并返回新的长度;语法“array.push(元素1,元素2, …,元n)”。push()方法会直接修改数组,改变数组的长度,并不是创建一个新的数组。 …

    2025年3月7日
    200

发表回复

登录后才能评论