久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - Object.create(null) 和 {} 區別是什么

瀏覽:91日期:2023-04-22 09:24:59

問題描述

Object.create(null) 和 {} 區別是什么 看vuex源碼定于對象都是Object.create(null) 為何不直接使用 {}

問題解答

回答1:

javascript - Object.create(null) 和 {} 區別是什么

回答2:

Object.create(null)沒有繼承任何原型方法,也就是說它的原型鏈沒有上一層。

console.log(Object.create({}).toString); // function toString() { [native code] }console.log(Object.create(null).toString); // undefined回答3:

Object.create()這個方法是用做繼承的,我記得沒錯應該是叫函數式繼承。在js中null是沒有任何屬性和方法的。你繼承了一個null,所以里面沒有任何東西。

回答4:

Object.create() 方法使用指定的原型對象和其屬性創建了一個新的對象。

var c=Object.create(null), b= {}, a=Object.create(Object.prototype);console.log(c, b, a);

javascript - Object.create(null) 和 {} 區別是什么

Object.create(proto, [ propertiesObject ])proto一個對象,應該是新創建的對象的原型。propertiesObject可選。該參數對象是一組屬性與值,該對象的屬性名稱將是新創建的對象的屬性名稱,值是屬性描述符(這些屬性描述符的結構與Object.defineProperties()的第二個參數一樣)。注意:該參數對象不能是 undefined,另外只有該對象中自身擁有的可枚舉的屬性才有效,也就是說該對象的原型鏈上屬性是無效的。拋出異常如果 proto 參數不是 null 或一個對象值,則拋出一個 TypeError 異常。

詳細解釋

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 望江县| 慈溪市| 望奎县| 鲜城| 饶河县| 株洲县| 博罗县| 思茅市| 中山市| 正阳县| 浦北县| 兴城市| 香港 | 屏山县| 彩票| 丰城市| 锦州市| 北海市| 庆安县| 临朐县| 宣武区| 宜春市| 兴业县| 梁平县| 灵石县| 通州市| 浦北县| 忻城县| 越西县| 拜城县| 布尔津县| 蓬莱市| 德州市| 即墨市| 建瓯市| 桐城市| 高雄县| 镇安县| 云浮市| 友谊县| 武隆县|