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

免费建立微网站企业网站推广方案策划

免费建立微网站,企业网站推广方案策划,使用vue做商城网站项目难点,网上怎么注册公司营业执照概述 ES6引入新类型Symbol,表示独一无二的值,作为JavaScript语言的第7种类型。 Symbol值通过Symbol()函数生成。 Symbol函数前不能使用new命令,因为生成的Symbol是一个原始类型的值,不是对象。 let sSymbol(); console.log(ty…

概述

ES6引入新类型Symbol,表示独一无二的值,作为JavaScript语言的第7种类型。

Symbol值通过Symbol()函数生成。

Symbol函数前不能使用new命令,因为生成的Symbol是一个原始类型的值,不是对象。

let s=Symbol();
console.log(typeof s);

·>symbol

Symbol函数的参数

Symbol函数可以接受一个字符串作为参数,表示对Symbol实例的描述。

let s1=Symbol("foo");
let s2=Symbol("bar")
console.log(s1,s1.toString());
console.log(s2,s2.toString());

·>Symbol(foo) 'Symbol(foo)'
   Symbol(bar) 'Symbol(bar)'

如果Symbol的参数是一个对象,就会调用其 toString方法,将其转换为字符串,然后才生成一个 Symbol值。

const obj = {toString() {return 'abc';}
};
const sym = Symbol(obj);
console.log(sym);

·>Symbol(abc)

Symbol函数的参数只表示当前Symbol值的描述。

相同参数的Symbol函数的返回值是不相等的。

let s1 = Symbol();
let s2 = Symbol();
console.log('s1==s2', s1 == s2);

·>s1==s2 false

let s1 = Symbol('foo');
let s2 = Symbol('foo');
console.log('s1==s2', s1 == s2);

·>s1==s2 false

Symbol值不能与其他类型的值进行运算,否则会报错。

Symbol值可以显式的转换为字符串。

Symbol值可以显式的转换为布尔值,但不能转换为数值。


创建Symbol值的属性

1.直接在对象初始化时通过 [] 语法使用 Symbol 作为属性名

const mySymbol = Symbol('description');const obj = {[mySymbol]: 'Symbol属性值' 
};console.log(obj[mySymbol]); 

2.动态添加属性

const mySymbol = Symbol('description');
const obj = {};obj[mySymbol] = '动态添加的Symbol属性';

3.通过属性描述符定义 Symbol 属性Object.defineProperty

const mySymbol = Symbol('description');
const obj = {};Object.defineProperty(obj, mySymbol, {value: '通过描述符定义的Symbol属性',writable: true,enumerable: true, // 默认 false(Symbol属性默认不可枚举)configurable: false
});console.log(obj[mySymbol]);


作为属性名的Symbol

所有的数据都可以用foreach()/for...of 迭代,因为他们都有一个共同的接口(symbol)。

Symbol作为对象属性名保证不会出现同名的属性。

作用:对一个对象由多个模块构成的情况非常有用,能防止一个键被不小心改写或覆盖。

Symbol值作为属性名时不能使用点运算符。

let proSym = Symbol();
let a = {};
a.proSym='Hello';
console.log(a[proSym]);
console.log(a['proSym']);

·>undefined
    Hello

当使用 a.proSym = ... 语法时,属性名会被强制转换为字符串

在对象内部使用Symbol值定义属性时,Symbol值必须放在方括号中。

let d = {
[proSym](name) {
console.log('hello' + name);
}
};
d[proSym]('xiaohua');

·>helloxiaohua

Symbol类型可以用于定义一组常量,保证这组常量的值都是不相等的。

let log = {};
log.levels = {
DEBUG: Symbol('debug’),
INFO: Symbol('info’),
WARN: Symbol('warn')
};
console.log(log.levels.DEBUG, 'debug message');
console.log(log.levels.INFO, 'info message');

·>Symbol(debug) 'debug message'
   Symbol(info) 'info message'


属性名的遍历

Symbol作为属性名时,该属性不会出现在for…in和 for…of循环中。也不会被Object.keys()、Object.getOwnPropertyNames()返回。

可以使用Object.getOwnPropertySymbols()方法获取指定对象的所有Symbol属性名。

let obj = {};
let a = Symbol('a');
let b = Symbol('b');
obj[a] = 'Hello';
obj[b] = 'World';
let objectSymbols = Object.getOwnPropertySymbols(obj);
console.log(objectSymbols);

·>[Symbol(a), Symbol(b)]

Reflect.ownKeys方法可以返回所有类型的键名,包括常规键名和Symbol键名。

let o = {
[Symbol('my_key')]: 1,
enum: 2,
nonEnum: 3
};
let r3 = Reflect.ownKeys(o);
console.log(r3);

·>['enum', 'nonEnum', Symbol(my_key)]


Symbol.for( )与Symbol.keyFor( )

Symbol.for( )

Symbol.for方法接受一个字符串,然后搜索有没有以该参数作为名称的Symbol值,若有,则返回这个Symbol值,否则新建并返回一个以该字符串为名称的Symbol值。

Symbol.keyFor( )

Symbol.keyFor方法返回一个已登记的Symbol类型值的key。
s1 = Symbol.for('foo');
s2 = Symbol.for('foo');
console.log(s1 === s2);
console.log(Symbol.keyFor(s1));

·>true
   foo


Symbol.toPrimitive属性

指向一个方法,对象被转换为原始类型的值时会调用这个方法,返回该方法对应的原始类型值。

其他属性使用方式,参考网址:Symbol - JavaScript | MDN

http://www.dtcms.com/wzjs/413463.html

相关文章:

  • 莱州网站建设效果网站推广的方式有哪些?
  • 做网站上的图片如何设定分辨率西安百度推广排名
  • 东莞网站SEO优化推广厦门网络推广外包
  • 文化传媒公司网站模板今日新闻摘抄十条简短
  • wordpress自媒体seo站内优化技巧
  • 网站备案证书查询搜索引擎优化的概念是什么
  • 网站建设都有什么技术支持网络营销案例具体分析
  • 庆阳网红刘斌林哥seo
  • 购物网站建设合同谷歌浏览器免费入口
  • 哪个网站做3d模型seo优化排名教程
  • 网站内页怎么做网络营销推广方式包括
  • 广告设计专业毕业去哪就业seo完整教程视频教程
  • 邯郸做网站推广自媒体账号申请
  • HTML5怎么做自适应网站百度平台商户电话号码
  • 非你莫属做网站的卖网币起家的网站排名查询alexa
  • 游戏钓鱼网站怎么做上海疫情最新情况
  • excel怎么做网页seo服务如何收费
  • 潍坊市网站建设公司百度风云榜热搜
  • 如何查找各种网站泉州seo
  • 怎么在手机上搭建网站好的搜索引擎推荐
  • 网站建设三方合同范本黄页网络的推广网站有哪些软件
  • 合肥做网站费用网络营销课程有哪些
  • 微信借口的网站怎么做广告推广有哪些平台
  • 中山高端网站建设公司百度站长平台
  • 制作网站的素材贴吧推广
  • 招聘网站数据分析要怎么做零基础怎么做电商
  • 做动图为所欲为的网站蒙牛牛奶推广软文
  • 网站设计与建设难吗太原网站优化
  • 网站建设定价电子商务沙盘seo关键词
  • 如何建立一个购物网站百度重庆营销中心