亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

ES6中Symbol類型用法實例詳解

2019-11-19 16:54:53
字體:
來源:轉載
供稿:網友

本文實例講述了ES6中的Symbol類型。分享給大家供大家參考,具體如下:

Symbol是在ES6中新加入的類型。

正如我們所知,JavaScript中有以下幾種類型:

Undefined ,Null ,Boolean ,Number ,String, Object。

但是上述類型在處理某些情況的時候是遠遠不夠的。下面我們來舉一個例子:

假設我們要移動div,也需要在某些情況下判斷該div是否處于移動狀態,所以我們會想到給div這類的對象設置一個屬性。

if (element.isMoving) { smoothAnimations(element);}element.isMoving = true;

但是這樣會存在一些問題,比如:

我們可能和第三方的庫沖突

我們可能和未來的標準沖突等。

于是可以采用第二種方法,也就是采用加密函數,制定一個值:

var isMoving = SecureRandom.generateName();...if (element[isMoving]) { smoothAnimations(element);}element[isMoving] = true;

這樣確實解決了沖突問題,但卻帶來了調試問題,我們每次查看該對象屬性時都會看見一大堆垃圾命名。

于是為了解決沖突問題,ES6提出了Symbol這樣的新類型。

Symbol是一種特殊的、不可變的數據類型,可以作為對象屬性的標識符使用。我們看demo:

var sym1 = Symbol();var sym2 = Symbol("foo");var sym3 = Symbol("foo");

Symbol("foo") 不會強制字符串 "foo" 進入一個Symbol,它每次都創建一個新的Symbol

Symbol("foo") === Symbol("foo"); // false

所以可以利用這個特性來創建私有屬性:

(function() { // 創建symbol var key = Symbol("key"); function MyClass(privateData) {  this[key] = privateData; } MyClass.prototype = {  doStuff: function() {   ... this[key] ...  } };})();var c = new MyClass("hello")c["key"] === undefined//無法訪問該屬性,因為是私有的

也可以利用Symbol來解除上面所說的沖突問題:

// create a unique symbolvar isMoving = Symbol("isMoving");...if (element[isMoving]) { smoothAnimations(element);}element[isMoving] = true;

當然,也可以通過另外的調用方法來生成可以與外界共享的Symbol類型,就是Symbol.for方法。

Symbol.for(key) 方法會根據給定的鍵 key,來從 symbol 注冊表中找到對應的 symbol,如果找到了,則返回它,否則,新建一個與該鍵關聯的 symbol,并放入 symbol 注冊表中。

Symbol.for("foo"); // 創建一個 symbol 并放入 symbol 注冊表中,鍵為 "foo"Symbol.for("foo"); // 從 symbol 注冊表中讀取鍵為"foo"的 symbolSymbol.for("bar") === Symbol.for("bar"); // true,證明了上面說的Symbol("bar") === Symbol("bar"); // false,Symbol() 函數每次都會返回新的一個 symbolvar sym = Symbol.for("mario");sym.toString();// "Symbol(mario)",mario 既是該 symbol 在 symbol 注冊表中的鍵名,又是該 symbol 自身的描述字符串

所以為了防止沖突,我們最好給symbol帶上前綴:

Symbol.for("mdn.foo");Symbol.for("mdn.bar");

希望本文所述對大家ECMAScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91中文在线观看| 国产一区红桃视频| 热久久这里只有精品| 欧美一级黑人aaaaaaa做受| 精品少妇v888av| 亚洲国产精品成人精品| 国产亚洲精品激情久久| 日韩av色综合| 精品国偷自产在线| 亚洲黄页网在线观看| 亚洲男人的天堂在线| 国产主播欧美精品| 精品久久久久久亚洲精品| 国产欧美精品日韩| 欧美巨乳美女视频| 亚洲国产成人精品久久| 亚洲网址你懂得| 欧美—级高清免费播放| 欧美精品电影免费在线观看| 欧美日韩高清区| 欧美日韩国产一区二区三区| 国产一区二区在线免费| 日韩美女视频中文字幕| 国产91成人在在线播放| 亚洲福利小视频| 国产精品福利网站| 亚洲国产一区二区三区在线观看| 亚洲偷熟乱区亚洲香蕉av| 欧美激情2020午夜免费观看| 久久精品夜夜夜夜夜久久| 亚洲第五色综合网| 成人亚洲综合色就1024| 久久国产精品影片| 成人精品一区二区三区电影免费| 91成人福利在线| 欧美老肥婆性猛交视频| 久久久久久久久久久91| 国产精品激情av电影在线观看| 人人做人人澡人人爽欧美| 亚洲免费电影一区| 日韩精品久久久久| 久久久久久久一| 粗暴蹂躏中文一区二区三区| 国产精品久久久久久久电影| 国产成人综合精品在线| 大伊人狠狠躁夜夜躁av一区| 91精品国产91久久久久久不卡| 色偷偷av一区二区三区| 精品国产成人在线| 国产一区二区动漫| 欧美另类老女人| 欧美极品少妇xxxxⅹ裸体艺术| 欧美乱妇40p| 精品久久久久久久久国产字幕| 日韩电视剧在线观看免费网站| 精品国产一区av| 欧美老女人xx| 久热国产精品视频| 欧美电影电视剧在线观看| 欧美激情免费看| 国产精品成人观看视频国产奇米| 欧美视频专区一二在线观看| 久热精品视频在线免费观看| 日韩高清电影免费观看完整版| 欧美激情在线观看视频| 精品久久久久久中文字幕大豆网| 亚洲激情电影中文字幕| 欧美在线视频观看免费网站| 91sao在线观看国产| 久久频这里精品99香蕉| 91国语精品自产拍在线观看性色| 欧美三级xxx| 日产精品99久久久久久| 在线播放亚洲激情| 97视频免费观看| 亚洲综合自拍一区| 97成人在线视频| 91美女高潮出水| 中日韩美女免费视频网站在线观看| 91久久国产综合久久91精品网站| 欧美华人在线视频| 久久九九国产精品怡红院| 日韩中文字幕在线精品| 一区二区三区四区视频| 久久人91精品久久久久久不卡| 久热99视频在线观看| 久久伊人精品视频| 亚洲bt天天射| 日韩视频免费在线观看| 精品久久久免费| 亚洲综合社区网| 国产精品普通话| 亚洲国产日韩欧美在线动漫| 亚洲免费高清视频| 国产亚洲日本欧美韩国| 亚洲毛茸茸少妇高潮呻吟| 欧美激情在线有限公司| 色悠悠久久久久| 深夜福利亚洲导航| 亚洲在线免费观看| 精品亚洲国产成av人片传媒| 久久久久中文字幕| 国产精品免费福利| 欧美视频第一页| 欧美在线欧美在线| 亚洲亚裔videos黑人hd| 大荫蒂欧美视频另类xxxx| 欧美大尺度电影在线观看| 92看片淫黄大片看国产片| 久久噜噜噜精品国产亚洲综合| 亚洲精品短视频| 日韩精品中文在线观看| 亚洲2020天天堂在线观看| 91欧美视频网站| 91成人在线播放| 欧美高清第一页| 久久精品国产清自在天天线| 91爱视频在线| 午夜精品一区二区三区av| 欧美成人免费全部| 日韩亚洲精品视频| 国产在线拍偷自揄拍精品| 亚洲一区美女视频在线观看免费| 亚洲国产婷婷香蕉久久久久久| 欧美日韩性生活视频| 亚洲精品aⅴ中文字幕乱码| 欧美激情免费视频| 日韩视频一区在线| 精品国产一区二区三区久久狼黑人| 亚洲欧美国产高清va在线播| 91在线观看免费观看| 欧美孕妇性xx| 国产精品av在线播放| 亚洲人免费视频| 久久精品中文字幕免费mv| 国产精品美乳一区二区免费| 国产成人在线一区二区| 国产精品视频xxxx| 福利视频一区二区| 欧美插天视频在线播放| 国产精品视频大全| 国产成人久久久精品一区| 日韩视频在线一区| 亚洲精品一区二区三区婷婷月| 欧美第一页在线| 成人日韩在线电影| 国产精品毛片a∨一区二区三区|国| 日韩精品极品在线观看播放免费视频| 91精品国产91久久久久久吃药| 亚洲自拍偷拍在线| 亚洲男女自偷自拍图片另类| 国产精品第一第二| 亚洲成年人影院在线| 欧美日韩在线免费| 亚洲人成网站色ww在线| 欧美日韩高清在线观看| 久久精品成人动漫| 91av成人在线| 国内精品久久久久久久久| 国产69精品久久久久9| 欧美一区二区影院| 亚洲精品免费av| 日本精品免费一区二区三区| 66m—66摸成人免费视频|