当前位置: 首页 > wzjs >正文

查域名的网站网站建设seo虾哥网络

查域名的网站,网站建设seo虾哥网络,公司建网站多少钱,少儿编程课网课哪个好1. 什么是Symbol? Symbol是ES6引入的一种新的原始数据类型,表示独一无二的值,它是JavaScript中的第七种数据类型。 2. 创建Symbol // 创建一个Symbol const sym1 Symbol(); const sym2 Symbol(description); // 可以添加描述console.log…

1. 什么是Symbol?

Symbol是ES6引入的一种新的原始数据类型,表示独一无二的值,它是JavaScript中的第七种数据类型。

2. 创建Symbol

// 创建一个Symbol
const sym1 = Symbol();
const sym2 = Symbol('description'); // 可以添加描述console.log(typeof sym1);     // "symbol"
console.log(sym2.toString()); // "Symbol(description)"

3. Symbol的特性

1. 唯一性,每个Symbol都是唯一的,即使描述相同;

const sym1 = Symbol('test');
const sym2 = Symbol('test');console.log(sym1 === sym2); // false

2. 不可枚举性,Symbol属性不会出现在for循环中,也不会被Object.keys()、Object.getOwnPropertyNames()返回;

const obj = {[Symbol('key')]: 'value',normalKey: 'normalValue'
};console.log(Object.keys(obj)); // ["normalKey"]

3. 不可强制转换,Symbol不能与其他类型的值进行运算;

const sym = Symbol('test');
console.log(sym + 'string'); 
// TypeError: Cannot convert a Symbol value to a string

4. Symbol的使用场景

1. 作为对象属性,防止属性名冲突,适合定义对象私有属性;

const NAME = Symbol('name');
const AGE = Symbol('age');const person = {[NAME]: '张三',[AGE]: 25,job: '工程师'
};console.log(person[NAME]); // "张三"

2. 定义常量,确保常量值唯一;

const LOG_LEVEL = {DEBUG: Symbol("debug"),INFO: Symbol("info"),WARN: Symbol("warn"),ERROR: Symbol("error"),
};function log(message, level) {switch (level) {case LOG_LEVEL.DEBUG:console.debug(message);break;case LOG_LEVEL.ERROR:console.error(message);break;// ...}
}

3. 实现类的私有成员,用于模拟私有属性/方法;

const _items = Symbol("stackItems");class Stack {constructor() {this[_items] = [];}push(item) {this[_items].push(item);}pop() {return this[_items].pop();}
}const stack = new Stack();
stack.push(1);
console.log(stack._items); // undefined

4. 定义Well-known Symbols

JavaScript内置了一些Symbol值,称为Well-known Symbols,用于改变语言内部行为。

// 自定义对象的迭代行为
const myIterable = {[Symbol.iterator]: function* () {yield 1;yield 2;yield 3;},
};console.log([...myIterable]); // [1, 2, 3]// 自定义对象的toString标签
class MyClass {get [Symbol.toStringTag]() {return "MyClass";}
}console.log(new MyClass().toString()); // "[object MyClass]"

5. 全局Symbol注册表

可以通过Symbol.for()和Symbol.keyFor()在全局Symbol注册表中创建和查找Symbol。

// 从全局注册表中获取Symbol,不存在则创建
const globalSym1 = Symbol.for('global');
const globalSym2 = Symbol.for('global');console.log(globalSym1 === globalSym2); // true// 获取Symbol的key
console.log(Symbol.keyFor(globalSym1)); // "global"

6. 注意事项

1. Symbol不能使用new操作符,它不是构造函数;

2. Symbol值不能与其他类型的值进行运算;

3. Symbol值可以显式转换为字符串或布尔值;

4. 使用Object.getOwnPropertySymbols()可以获取对象的所有Symbol属性;

7. 总结

Symbol的主要用途是创建唯一标识符,避免命名冲突,特别适合用于:

1. 对象属性的唯一键名;

2. 定义私有属性;

3. 定义常量;

4. 修改内置对象的行为;

在现代JavaScript开发中,Symbol已经成为实现元编程和解决命名冲突的重要工具。


文章转载自:

http://s82VyAFf.cnqff.cn
http://i57ltBNy.cnqff.cn
http://yEFW7V61.cnqff.cn
http://ITooo5vq.cnqff.cn
http://tsjZeKAM.cnqff.cn
http://xmTRugd2.cnqff.cn
http://HdfXvWs8.cnqff.cn
http://WJajTmhM.cnqff.cn
http://ZikwdUpb.cnqff.cn
http://7yhmQH3e.cnqff.cn
http://AXJldoSB.cnqff.cn
http://72HvjzBS.cnqff.cn
http://6xSduHvT.cnqff.cn
http://7xHXgmlL.cnqff.cn
http://waB062k0.cnqff.cn
http://PINZdztT.cnqff.cn
http://rQeA3AuE.cnqff.cn
http://ALIq3YY7.cnqff.cn
http://U2WZP01O.cnqff.cn
http://md29PxdS.cnqff.cn
http://lgXdLFXK.cnqff.cn
http://uBNSxqdg.cnqff.cn
http://0qkDpdbg.cnqff.cn
http://KpbTqAs5.cnqff.cn
http://Bz4flT9Q.cnqff.cn
http://81hzNix0.cnqff.cn
http://D8UpzkD0.cnqff.cn
http://xZIqIzcc.cnqff.cn
http://tvBCxW0X.cnqff.cn
http://uGA9MRRO.cnqff.cn
http://www.dtcms.com/wzjs/703329.html

相关文章:

  • 国外网站开发公司常州企业网站建设公司
  • 淄博好的建网站公司中关村在线对比
  • 网站建设开发设计营销公司厦门深圳宝安网站建设报价
  • 国外psd网页模板网站资阳的网站建设
  • 在那个网站做定制旅游怎么找到仿牌外贸出口公司的网站
  • asp语言的网站建设集团网站建设方案
  • 外汇直播室都是网站做的马云做黄页网站时候
  • 厦门网站建设的公司哪家好网站平台设计费用多少
  • 昆明二级站seo整站优化排名广告设计培训班学费一般多少钱
  • php做网站登陆验证国内做新闻比较好的网站有哪些
  • 佛山网站制作咨询做网站需要一些什么东西
  • 我是这样做网站的米课网络设计培训学校
  • 个人网站asp南京做网站的公司
  • 万脑网站建设软文写手
  • 商城网站建设机构wordpress上传到哪个目录
  • 合肥企业建站系统企业门户网站属于什么层
  • 网站建设公司需要具备猎头
  • 网站未备案被禁用 怎么办wordpress网页太大
  • 做淘宝链接模板网站wordpress 多人
  • 网站打开速度优化中国免费网站服务器
  • 怎么学好网站建设更合高明网站建设
  • 哪家网站建设服务好啊h5建设网站公司
  • 大型网站建设 cms cdm dmp制作网站设计的技术有
  • 个人网站icp备案seo黑帽2022
  • 大姚县建设工程招标网站网页设计框架布局
  • 网站被k 但收录内页网站实施建设流程
  • 湖北定制型网站建设项目宣传推广方案
  • 鞋帽网站欣赏自己在线制作logo免费模版
  • 重庆网站备案最快几天自己网站做问卷调查问卷
  • 自建博客网站企业网站建设合同应注意什么