亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教各位一個問題,求解答:es6 symbol的出現是針對什么場景?大佬們有什么好的建議?

請教各位一個問題,求解答:es6 symbol的出現是針對什么場景?大佬們有什么好的建議?

繁花不似錦 2019-06-09 11:28:18
假如我有個對象放在工具(util.js)里面letsymbol=Symbol('whatever');exportletobj={[symbol](){console.log('log');},say(){console.log('say');}}我想要在組件里面使用這個方法,比如使用say(),我可以直接importobj,然后obj.say()。如果我想要使用[symbol]的這個方法,豈不是還要將symbolexport,然后importsymbol和obj,再去執行obj[symbol]()。這樣豈不是更復雜了?
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

一個不重復的值node中有一個比較實際的場景,require('util').promisify.custom就是一個Symbol。用于設置自定義的promisify函數,不會擔心這個屬性被其他人誤操作而覆蓋。我們也可以通過這個key來取出對應的函數。
                            
查看完整回答
反對 回復 2019-06-09
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

Object.getOwnPropertySymbols()方法返回一個給定對象自身的所有Symbol屬性的數組。
let_symbol=Object.getOwnPropertySymbols(obj);
obj[_symbol[0]]()
                            
查看完整回答
反對 回復 2019-06-09
  • 2 回答
  • 0 關注
  • 625 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號