js Symbol() usage
js Symbol() usage
查看一个填充物,我发现符号类型是这样的:
if (window.Symbol) {
obj = {cached: Symbol(), /****/ };
}
/* and is used */
obj.cached = [] // which overrides Symbol(),
我是 Symbol()
JS 的新手,但据我所知,它应该用于制作避免冲突的唯一对象键,因此应该或多或少地像:
var obj = {}, cached;
if (window.Symbol) {
cached = Symbol();
obj[cached] = null;
}
/* an then used */
obj[cached] = [ /*****/ ];
我错过了什么吗?
我不太明白你的例子,但总的来说,Symbol()
是"保证是独一无二的东西"。它可以以类似于这样的方式使用:
var cached = Symbol();
var state = {obj: cached };
// code that can change state.obj in arbitrary ways
if (state.obj === cached)
console.log("still cached");
另一方面,人们可以使用具有相同效果的cached = Object()
......所以也许这不是最好的例子。
相关文章:
- HighChart : Usage of setData
- 在这种情况下,*[Symbol.iterator]的含义是什么
- Ember.js ArrayController usage
- reuseTerm JSOM sharepoint 2013 usage
- wd waitForElementBy... and asserter usage
- 使用Javascript替换函数从字符串中删除€Symbol
- 在不使用jquery($symbol)knockout.js的情况下分离代码javascript
- Symbol数据类型的应用程序
- Basic jquery deferred usage with ajax
- babel obj symbol.iterator undefined
- jQuery .each usage with ajax 加载的内容
- Javascript and PHP Data Feed Usage
- js Symbol() usage
- Symbol.toPrimitive vs Object.prototype.valueOf
- google.script.run independent usage
- Array() and Array.prototype usage
- NodeJS/Express app.use sequence and usage
- BigNumber usage with Webpack + Angular
- javascript正则表达式中$symbol的使用
- Karma+Mocha+React无法将Symbol值转换为字符串