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

网页设计优化网站建设可以吗设计公司名字logo

网页设计优化网站建设可以吗,设计公司名字logo,网站有风险提示怎么办,wordpress又拍云cdn教程一、Symbol 简介 Symbol 是 JavaScript 中的一种基本数据类型,它表示唯一的标识符。Symbol 的主要目的是防止属性名冲突,尤其是在多个代码库或模块中共享对象时。Symbol 值可以用作对象的属性名,这样可以确保属性名是唯一的,不会…

一、Symbol 简介

Symbol 是 JavaScript 中的一种基本数据类型,它表示唯一的标识符。Symbol 的主要目的是防止属性名冲突,尤其是在多个代码库或模块中共享对象时。Symbol 值可以用作对象的属性名,这样可以确保属性名是唯一的,不会与其他属性名冲突。Symbol定义的对象属性不能使用for…in循环遍历,但可以使用 Reflect.ownKeys 来获取对象的所有键名。

二、Symbol 的创建

可以使用 Symbol() 函数来创建一个新的 Symbol 值。这个函数可以接受一个可选的字符串参数,作为 Symbol 的描述。描述只是为了调试目的,不会影响 Symbol 的唯一性。

let s1 = Symbol();
console.log(s1, typeof s1); // Symbol() "symbol"let s2 = Symbol('尚硅谷');
let s2_2= Symbol('尚硅谷');
console.log(s2 === s2_2); // false// 使用 Symbol.for 定义
let s3 = Symbol.for('尚硅谷');
let s3_2 = Symbol.for('尚硅谷');
console.log(s3 === s3_2); // true

在上面的代码中,s1s2s2_2 都是不同的 Symbol 值,尽管 s2s2_2 的描述相同。

三、Symbol 的应用

1. 作为对象的属性名

Symbol 可以用作对象的属性名,这样可以确保属性名是唯一的,不会与其他属性名冲突。

let game = {name:'俄罗斯方块',up: function(){},down: function(){}
};let methods = {up: Symbol(),down: Symbol()
};game[methods.up] = function(){console.log("我可以改变形状");
}game[methods.down] = function(){console.log("我可以快速下降!!");
}console.log(game);

在上面的代码中,methods.upmethods.down 是两个 Symbol 值,它们被用作 game 对象的属性名。这样,即使其他代码也使用了 updown 作为属性名,它们也不会冲突。

2. Symbol 内置属性

除了定义自己使用的 Symbol 值以外,ES6 还提供了 11 个内置的 Symbol 值,指向语言内部使用的方法,称为“魔术方法”,因为它们会在特定的场景下自动执行。。例如,Symbol.hasInstance 可以用来定义一个对象是否是某个类的实例,Symbol.isConcatSpreadable 可以用来控制数组的展开行为。

  • Symbol.hasInstance:当其他对象使用 instanceof 运算符,判断是否为该对象的实例时,会调用这个方法。
  • Symbol.isConcatSpreadable:对象的 Symbol.isConcatSpreadable 属性等于的是一个布尔值,表示该对象用于 Array.prototype.concat() 时,是否可以展开。
  • Symbol.species:创建衍生对象时,会使用该属性。
  • Symbol.match:当执行 str.match(myObject) 时,如果该属性存在,会调用它,返回该方法的返回值。
  • Symbol.replace:当该对象被 str.replace(myObject) 方法调用时,会返回该方法的返回值。
  • Symbol.search:当该对象被 str.search(myObject) 方法调用时,会返回该方法的返回值。
  • Symbol.split:当该对象被 str.split(myObject) 方法调用时,会返回该方法的返回值。
  • Symbol.iterator:对象进行 for...of 循环时,会调用 Symbol.iterator 方法,返回该对象的默认遍历器。
  • Symbol.toPrimitive:该对象被转为原始类型的值时,会调用这个方法,返回该对象对应的原始类型值。
  • Symbol.toStringTag:在该对象上面调用 toString 方法时,返回该方法的返回值。
  • Symbol.unscopables:该对象指定了使用 with 关键字时,哪些属性会被 with 环境排除。
class Person{static [Symbol.hasInstance](param){console.log(param);console.log("我被用来检测类型了");return false;}
}let o = {};console.log(o instanceof Person);const arr = [1,2,3];
const arr2 = [4,5,6];
arr2[Symbol.isConcatSpreadable] = false;
console.log(arr.concat(arr2));

在上面的代码中,Symbol.hasInstance 被用来定义 Person 类的 instanceof 操作符的行为,Symbol.isConcatSpreadable 被用来控制数组的 concat 方法的展开行为。

四、总结

Symbol 是 JavaScript 中一种非常有用的数据类型,它可以用来创建唯一的标识符,防止属性名冲突,并且可以用来定义对象的一些特殊行为。通过合理使用 Symbol,可以使代码更加健壮和可维护。

http://www.yayakq.cn/news/444423/

相关文章:

  • 建设网站的建筑公司养生类网站源码
  • 专门做兼职的网站网店建设管理系统
  • 公司网站建设价位培训学校网站模板
  • 钓鱼网站图片网站ico图标 代码
  • 群晖套件做网站仿快法务网站开发模板
  • 做量化投资网站湖南网站制作收费标准
  • 怎么再贴吧给自己的网站做宣传企业网站分析与优化
  • 小程序联盟福州seo关键词
  • 自己怎么建个免费网站吗企业网站推广哪些效果比较好
  • 苏州外贸网站建设优化推广巢湖路桥建设集团有限公司网站
  • 网站源码配置数据库在拿wordpress首页显示摘要 插件
  • 建一个网站大约多少钱做网站哪里学
  • 网站弹出一张图怎么做代码如何建网站平台卖东西
  • 舞曲网站建设腾讯wordpress
  • 静态网站制作wordpress模版秒玩小游戏点击即玩入口
  • 域名注册之后怎么建设网站wordpress不显示标题
  • 创意赣州网站建设seo范畴有哪些
  • 中国建设人才服务信息网站如何入侵网站后台密码
  • 宣城做网站公司曲靖网站制作公司
  • 做网站竞品分析广州知名网站建设性价比高
  • 深圳建网站信科四川省特种作业证查询
  • wordpress多站点使用期限插件wordpress 微视频主题
  • 长沙网站建设服务公司wordpress 插件国际化
  • 网站建设深圳赶集网东莞网络推广
  • 小型网站二手房中介网站模板
  • 报电子商务( 网站建设与运营)网站设计师大学学什么专业
  • 如何制作互联网网站网站开发项目运营经理岗位职责
  • 网站注册界面响应式网页需要设计几张图
  • 潜江市网站网站维护和建设工作范围
  • 个人网站如何在工信部备案如何查询网站备案时间