ES6-Symbol的用法 ,symbol在对象中的应用,改变值

ES6-Symbol的用法,,symbol在对象中的应用,改变值

let a = new String;
let b = new Number;
let c = new Boolean;
let d = new Array;
let e = new Object;

//Symbol
//声明Symbol
//Symbol类型是一个全局的原始类型
let f = Symbol();
console.log(typeof(f)) //symbol

let g = Symbol(‘ananiah‘);
console.log(g)  //Symbol(ananiah)
console.log(g.toString())  //Symbol(ananiah) 转为字符串

//symbol在对象中的应用
let ananiah = Symbol();
let obj = {
    [ananiah] : ‘大诶啊‘
}
console.log(obj[ananiah]) //大诶啊

//改变值
obj[ananiah] = ‘web‘;
console.log(obj[ananiah]) //web

// 用法
let noage = {name:‘ananiah‘,skill:‘eat‘};
let age  = Symbol();
noage[age] = 18;
console.log(noage) // {name: "ananiah", skill: "eat", Symbol(): 18}
for(let item in noage){
    console.log(noage[item])  //ananiah eat
}
console.log(noage[age]) // 18

原文地址:https://www.cnblogs.com/Ananiah/p/11071234.html

时间: 2024-10-20 14:21:23

ES6-Symbol的用法 ,symbol在对象中的应用,改变值的相关文章

合并数组对象中相同的属性值

面试题中往往会遇到这样的笔试题,将以下数组对象合并相同值 var arr = [{ "name": "语文", "fraction": 80 }, { "name": "数学", "fraction": 70 }, { "name": "语文", "fraction": 50 }, { "name": &qu

django 获取request请求对象及response响应对象中的各种属性值

1 django request对象和HttpResponse对象 2 HttpRequest对象(除非特殊说明,所有属性都是只读,session属性是个例外) 3 HttpRequest.scheme 请求方案(通常为http或https) 4 HttpRequest.body 字节字符串,表示原始http请求正文 5 HttpRequest.path 字符串,表示请求的页面的完整路径,不包含域名 6 7 HttpRequest.get_host() 获取主机地址 8 9 HttpReques

javascript获取对象中的属性及值

function displayProp(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+", "; } alert(names); } 多美完美的体验.跟java的反射很像.

java 利用反射修改对象中的list类型字段中的值。

这两天没事学习下了反射.通过反射我们可以修改对象中的字段的值. 就如下面这段代码 Grade grade=new Grade(); Field f=Grade.class.getDeclaredField("name"); f.setAccessible(true); f.set(grade, "三年级一班"); 这是so easy的,这时我想到了要是list类型的字段该怎么通过反射修改呢. 于是我就尝试了下,最终做了出来. 先准备两个类. public class

ES6系列_10之Symbol在对象中的作用

在ES5中 对象属性名都是字符串,这容易造成属性名的冲突,比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突,于是 ES6 引入了Symbol.Symbol是一种新的原始数据类型,表示独一无二的值.它是继undefined.null.布尔值(Boolean).字符串(String).数值(Number).对象(Object)六种数据类型之后的第七种数据类型.凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与

ES6 新增基本数据类型Symbol

ES6 增加了一个新的基本数据类型 symbol. 不过,和其他基本数据类型相比,它有点与众不同,因为它没有字面量的表现形式,而且创建的方式也有点奇怪,只能通过调用全局函数Symbol()来完成. let firstSymbol = Symbol(); 这里注意一点,Symbol函数调用的时候,前面不要加new. 创建了一个symbol, 它有什么作用呢? 可以把它看作一个类字符串,和字符串的使用方式一致,字符串能用的地方,symbol 基本都能用,最常用的地方就是作为对象的属性名使用,因为,s

apply,call,bind,symbol的用法

一.apply 在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域. this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向. 接收两个参数,一个是函数运行的作用域(this),另一个是参数数组. 用法举例 Math.max.apply(null, array) Math.max(...array) 二.call 在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域. this总

ES6入门九:Symbol元编程

JS第七种数据类型:Symbol Symbol的应用场景 11个Symbol静态属性 Symbol元编程 一.JS第七种数据类型:Symbol 在ES6之前的JavaScript的基本数据类型有undefined.null.boolean.number.string.object,现在Symbol作为第七种基本数据类型.翻译symbol这个单词就是“符号,标志”的意思,顾名思义Symbol的应用场景也就离不开唯一性,想想“符号.标志”都是用来干嘛的?不就是用来标记特定事物的符号嘛,在程序中用来作

关于symbol的用法

普通情况下经常在代码中看到,看到如下的用法 # IF debug #else #end 在C#,.NET环境下,这些常碰到,在过去的C++语言开发中更是家常便饭,甚至还可以给 这些变量Symbol定义固定值,而现在的C#语言中,已经不再可以在详细代码中定义固定的值. Const等新增的语义已经能够满足这些需求. 如果要定义新的Symbol必须在, Project属性中,Build下,Conditioned Symbol中追加 需要的自定义Symbol .