h_symbol_唯一

Posted myniu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h_symbol_唯一相关的知识,希望对你有一定的参考价值。

Symbol 象征; 符号;

	var kk={a:1,b:2};
	var jj={b:3,c:4};
	
	//因为 两个对象中  有属性名一样  就会被覆盖
	Object.assign(kk,jj);
	console.log(kk); //{a: 1, b: 3, c: 4}   b:2 被覆盖
	
	//Symbol 就是返回一个唯一的值   让这个值做属性名 就不会发生覆盖的情况了
	

Symbol 是一中新的数据类型,表示独一无二的值。

	//	Symbol 类型是类似字符串的一种类型 没有属性名

	let ss=Symbol();
	let ss1=Symbol();
	console.log(ss); //Symbol()    Symbol类型的就是一个Symbol()
	console.log(typeof ss); //Symbol   
	console.log(ss1); //Symbol()   ss和ss1都一样
	
	console.log(ss===ss1);  // false  但是他们不相等   比较是唯一的
	
	let sss=Symbol("aa");
	console.log(sss); //Symbol(aa)   有很多个Symbol()怎么办(就用参数 来描述这些Symbol())
	

	let name=Symbol();
	
	var kk={
		name:"ag", //这个时候的name默认是字符串  因为属性名默认就是字符串
		[name]:"ak",//使用 Symbol类型做属性名时 必须用中括号[]括起来
	}
	
	console.log(kk.name); //ag   使用点是访问不到 Symbol类型的   
	console.log(kk[name]); //ak   Symbol类型就类似一个变量 访问时需要[]
	console.log(kk["name"]); //ag  如果中括号里面是一个字符串的话  访问的也不是symbol类型的		
	

以上是关于h_symbol_唯一的主要内容,如果未能解决你的问题,请参考以下文章

为什么我不能在此片段中生成唯一对象数组?

这些 C++ 代码片段有啥作用?

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

VSCode 配置 用户自定义代码片段 自定义自动代码补充

片段 - 替换容器,如果 id 不是唯一的

带有转换的片段交易 - 需要唯一的转换名称