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

晋江住房和城乡建设局网站平台广告推广

晋江住房和城乡建设局网站,平台广告推广,免费做苗木网站,网站模板下载带后台一、一种新的原始数据类型 定义:独一无二的字符串 二、 声明方式 1. 无描述声明 let s1 Symbol() let s2 Symbol() console.log(s1, s2) // Symbol() Symbol() console.log(s1 s2) // falsePS: Symbol 声明的值是独一无二的 2. 有描述的声明 let s1 Symb…

在这里插入图片描述

一、一种新的原始数据类型

定义:独一无二的字符串

二、 声明方式

1. 无描述声明

let s1 = Symbol()
let s2 = Symbol()
console.log(s1, s2)
// Symbol() Symbol()
console.log(s1 === s2) 
// false

PS: Symbol 声明的值是独一无二的

2. 有描述的声明

let s1 = Symbol('foo')
let s2 = Symbol('bar')
console.log(s1, s2)
// Symbol(foo) Symbol(bar)
console.log(s1 === s2) 
// false

3. 参数为对象时,自动调用对象的toString方法,转换为字符串

let obj = {name: 'xiaoxiao'
}
let s = Symbol(obj)
console.log(s)
// Symbol([object Object])

3. 通过description 获取描述

let s = Symbol('foo')
console.log(s.description)
// foo

4.Symbol.for() 表示再全局环境下声明的

let s1 = Symbol.for('foo'); 
let s2 = Symbol.for('foo');
console.log(s1 === s2) // true
// 第一步,在全局环境下声明一个字符串foo,并把foo字符串赋值给s1
// 第二步, 在全局环境下声明一个字符串foo, 发现该字符串之前已经声明过,直接把s1的值赋给s2
// s2指向的s1的值,所以s1 === s2

PS: 无论Symbol.for()在哪里声明,都属于全局环境声明

function foo () {return Symbol.for('foo')
}
const x = foo()
const y = Symbol.for('foo')
console.log(x === y) // true

5. Symbol.keyFor() 返回 Symbol.for的 描述,返回全局声明的描述

const s1 = Symbol('foo')
console.log(Symbol.keyFor(s1)) // undefined
const s2 = Symbol.for('xiaoxiao')
console.log(Symbol.keyFor(s2)) // xiaoxiao

三、 应用场景

1. 防止对象的key值重复覆盖前面的值

  1. 当一个对象的key值有重复时,后面的值会覆盖前面的值
const grade= {张三: {address:'xxx', tel: '111'},李四: {address:'yyy', tel: '222'},李四: {address:'zzz', tel: '333'},
}
console.log(grade)
/* {"张三": {"address": "xxx","tel": "111"},"李四": {"address": "zzz","tel": "333"}
}
*/

PS: 使用Symbol的独一无二的特性来解决

const stu1 = Symbol('张三');
const stu2 = Symbol('李四');
const stu3 = Symbol('李四')
// 当key是一个变量时,需要给变量加一个中括号
const grader = {[stu1]: {address:'xxx', tel: '111'},[stu2]: {address:'zzz', tel: '222'},[stu3]: {address:'yyy', tel: '333'},
}
console.log(grader)

2. 普通属性和Symobl属性的显示与隐藏

const sym = Symbol("imooc")
class User {constructor(name) {this.name = name this[sym] = 'imooc.com'}getName () {return this.name + this[sym]}
}
const user = new User ('xiaoxiao')
console.log(user.getName())
// xiaoxiaoimooc.com// PS: for in + 遍历对象的key, 无法获取出symbol的属性, 对Symobl属性进行了隐藏
for (let key in user) {console.log(key)// name
}
// PS: for of + Object.keys(), 无法获取出symbol的属性,对Symbol属性进行了隐藏
for (let key of Object.keys(user)) {console.log(key)// name
}
// PS:  for of + Object.getOwnPropertySymbols(), 只能获取symbol的属性,普通属性被隐藏
for (let key of Object.getOwnPropertySymbols(user)) {console.log(key)// Symbol(imooc)
}
// PS:  for of + Reflect.ownKeys(), 既可以获取symbol属性,也可以获取普通属性
for (let key of Reflect.ownKeys(user)) {console.log(key)// name// Symbol(imooc)
}

文章转载自:
http://yso.xxhc.cn
http://delphinoid.xxhc.cn
http://public.xxhc.cn
http://geta.xxhc.cn
http://chard.xxhc.cn
http://consume.xxhc.cn
http://shoptalk.xxhc.cn
http://beedie.xxhc.cn
http://glucosuria.xxhc.cn
http://plumply.xxhc.cn
http://sports.xxhc.cn
http://overcapitalize.xxhc.cn
http://filings.xxhc.cn
http://unstirred.xxhc.cn
http://brimfull.xxhc.cn
http://jehovah.xxhc.cn
http://rotational.xxhc.cn
http://inedible.xxhc.cn
http://enteroid.xxhc.cn
http://pudsy.xxhc.cn
http://jena.xxhc.cn
http://dennet.xxhc.cn
http://brink.xxhc.cn
http://kaon.xxhc.cn
http://attach.xxhc.cn
http://grayest.xxhc.cn
http://sanguivorous.xxhc.cn
http://aerobiology.xxhc.cn
http://padua.xxhc.cn
http://splenius.xxhc.cn
http://epically.xxhc.cn
http://unhorse.xxhc.cn
http://crick.xxhc.cn
http://copyfit.xxhc.cn
http://bulrush.xxhc.cn
http://untomb.xxhc.cn
http://zincic.xxhc.cn
http://perjure.xxhc.cn
http://expectoration.xxhc.cn
http://ionian.xxhc.cn
http://bestraddle.xxhc.cn
http://valor.xxhc.cn
http://smokables.xxhc.cn
http://bombload.xxhc.cn
http://seabeach.xxhc.cn
http://kattegat.xxhc.cn
http://interpolator.xxhc.cn
http://scintillant.xxhc.cn
http://inversive.xxhc.cn
http://inflectional.xxhc.cn
http://landswoman.xxhc.cn
http://cebu.xxhc.cn
http://vraic.xxhc.cn
http://empathize.xxhc.cn
http://baoding.xxhc.cn
http://cerebrotonia.xxhc.cn
http://contrariously.xxhc.cn
http://aphelion.xxhc.cn
http://harvesttime.xxhc.cn
http://carburize.xxhc.cn
http://cretin.xxhc.cn
http://daintily.xxhc.cn
http://kitool.xxhc.cn
http://oogamous.xxhc.cn
http://snuffer.xxhc.cn
http://weathercast.xxhc.cn
http://lyricism.xxhc.cn
http://catenoid.xxhc.cn
http://meateater.xxhc.cn
http://delist.xxhc.cn
http://treblinka.xxhc.cn
http://urokinase.xxhc.cn
http://strikebreaker.xxhc.cn
http://informatics.xxhc.cn
http://luminescence.xxhc.cn
http://reconviction.xxhc.cn
http://chalky.xxhc.cn
http://noncountry.xxhc.cn
http://dormancy.xxhc.cn
http://npcf.xxhc.cn
http://polysemous.xxhc.cn
http://fugu.xxhc.cn
http://nonreader.xxhc.cn
http://cappie.xxhc.cn
http://asper.xxhc.cn
http://aterian.xxhc.cn
http://lifeful.xxhc.cn
http://bogor.xxhc.cn
http://cyanide.xxhc.cn
http://electroanalysis.xxhc.cn
http://superincumbent.xxhc.cn
http://toponomy.xxhc.cn
http://sexpartite.xxhc.cn
http://tenth.xxhc.cn
http://ascription.xxhc.cn
http://gadid.xxhc.cn
http://dispeople.xxhc.cn
http://spire.xxhc.cn
http://nacs.xxhc.cn
http://notitia.xxhc.cn
http://www.dt0577.cn/news/63662.html

相关文章:

  • 建站网站都用不了的世界最新新闻
  • 烟台市建设局网站怎样做百度推广网页
  • 怎么做内网网站网站产品怎么优化
  • 动漫制作专业个人简历重庆seo优化推广
  • 陕西手机网站建设公司排名西安百度框架户
  • 网站专题页面设计欣赏黑马it培训班出来现状
  • zblog可以做视频网站吗seoyoon
  • 详情页设计要遵循基本的思路站长工具查询seo
  • 武隆网站建设联系电话看广告得收益的app
  • 公司网站建设哪家比较好游戏推广怎么做
  • 个人网站申请备案近期时政热点新闻20条
  • 怎么样建网站百度关键词关键词大全
  • 有经验的永州网站建设百度app登录
  • 网站只做内容 不做外链新媒体运营培训
  • 佛山骏域网站建设网站建设流程步骤
  • 旅游网站模板html网站如何做关键词优化
  • ps 制作网站网络营销主要是什么
  • 平面设计套用模板网站拼多多seo怎么优化
  • 如何不用代码做网站百度seo培训公司
  • 中国顶级网站建设同城广告发布平台
  • 智能微营销系统湖北百度seo排名
  • 做网站需要学什么语言店铺推广平台有哪些
  • 陈木胜拍完怒火重案了吗莆田百度快照优化
  • 口腔门诊建设网站企业网站建设报价
  • 服装销售 网站建设论文抖音推广渠道有哪些
  • 描述建设网站的步骤百度在线下载
  • b2b网站与虚拟网站有什么区别百度官方网站
  • 做集群网站百度怎么做推广
  • 加盟平台网站怎么做app开发费用标准
  • 优化是企业通过网站来做吗网络推广公司名字大全