It only takes 30 minutes to learn Object. If you like it, you can click “like” to save it, which is convenient for you to check it out. Last time, we summarized all the methods about Array.Learn all the methods in an Array prototypeYour praise is my biggest motivation ~~~

assign(target,… Source): Merges or creates objects, returning a new object

const TGs = {tg1:Lick the Dog one.tg2:Lick the Dog number two.}
const girl = { girl: 'the princess'};
const man = { dog:'Yan Shaolian'};
const manyMan = {dog:'Other Licking Dogs'.TGs:TGs}

const wanglian1 = Object.assign({}, girl, man);
// result in: {girl: "princess ", dog:" yan Shaolan "}
// When a girl and I get together, we form a new relationship called online love.
const wanglian2 = Object.assign( {}, girl, man,manyMan);
// result in :{girl: "princess ", TGs: Object {tg1:" dog ", tg2: "dog ", tg3:" dog "}}
// When another lick dog comes in and his key is dog like mine, he will take my place and become the new lick Dog, the new online love
TGs.tg3=Lick the Dog number three.
// Assign this unstable pattern, which is only suitable for shallow copies. When an object needs to be assigned, it just references the pointer address
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

# defineProperty(obj,props, Descriptor): Precisely modify the properties of an object

const girl = {};
Object.defineProperty(girl,'lick the dog', {value: 'Yan Shaolian'.// Lick the dog's name
    writable: true.// Whether the licking dog's name can be changed by the operator
    configurable:true.// Whether the description of licking dog can be modified
    enumerable:true.// Whether licking dogs can appear in enumerated properties
    
    // Get and value cannot coexist, writable and set cannot coexist. complains
    get:function() {}, // The goddess gave an acceptance speech when she won the dog lick
    set:function() {} // When the licking dog is replaced, I will send a message to my bestie
});

Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Freeze (obj): Freezes objects, often used for loop rendering of big data. Frozen data will not be listened to by vUE, which can increase performance

IsFrozen (obj): checks whether an object isFrozen, and returns true if so

const girl = {
  TG: 'Yan Shaolian'
};

Object.freeze(girl);

girl.TG = Daniel Wu;
// Throws an error in strict mode

console.log(girl.TG);
// Result in: Even Daniel Wu can't take the place of me licking the dog
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

GetOwnPropertyDescriptor (obj,prop): Properties of a value in a query object (those defined by defineProperty)

// I am the goddess's licking dog
// Here, let's print out the status of my licking dog in the goddess
console.log(Object.getOwnPropertyDescriptor(girl,'lick the dog'))
// result in: {value: "64x ", writable: false, Enumerable: true, different: false}
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

HasOwnProperty (prop): Queries whether an object has an attribute, and returns true if it does

girl.hasOwnProperty('lick the dog');
// result in: true
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

IsExtensible (obj): returns true if the query object isExtensible

Object.isExtensible(girl) // True, at this point, more licks can come in
// Make the object unextensible
Object.preventExtensions(girl);
Object.isExtensible(girl); // === false

// seal sets the original properties as they are and returns a new array
const girled = Object.seal(girl);
Object.isExtensible(girled); // === false

// Freeze object is also not extensible, return a new array
const girlfrozen = Object.freeze(girl);
Object.isExtensible(girlfrozen); // === false
// Then I'm the only one left to lick
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

ToString (): Returns a stringification of this object, returns string data, everything can be toString!!

It is important to note that the double equal sign ==, which is the default to call toString on both sides of the data, and then compare them to a string, so it is better to use the triple equal sign ===Copy the code

Entries (): Returns a set of iterable objects and adds the property of iteration completion.

Keys (): returns a set of iterable keys and adds attributes for iteration completion.

Values (): Returns a set of iterable values and adds attributes for iteration completion.

Iterators: A good article on iterators and homemade iterators is recommended

// Just to mention entries, the other two are similar
const tgMen = {tg1:Lick the Dog one.tg2:Lick the Dog number two..tg3:Lick the Dog number three.};

for (item of tgMen) {
}
// result in: tgMen is not iterable. This is when we need to use our entries

/ / Array [Array [" tg1 ", "dog lick one"], Array [" tg2 ", "dog lick ii"], Array [" tg3 ", "dog lick 3"]]
// Array ["tg1", "lickdog "]
// Array ["tg2", "Lickdog 2"]
// Array ["tg3", "Lickdog 3"]
// Returns an iterable array of [key,value] objects
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Delete: There is no delete method in an object property. To delete an attribute, you need to invoke delete outside the object

const girl = {
  TG: 'Yan Shaolian'
};
delete girl.TG
console.log(girl)
// result in: {}, this time, I will no longer be a goddess lick dog, brothers, do not be a lick dog
Copy the code


· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

conclusion

If you find this article helpful at all, give me a thumbs up and a little encouragement

Portals for other interesting articles:

  • Learn all the methods in an Array prototype
  • Introduction to Vue3, let you know the difference between Vue2 and Vue3 (1)
  • Strange prototype chain cold knowledge (need to have a certain prototype chain foundation to see oh)
  • Vue Photo Amplifier, Album Set: VUE-Photo-Preview
  • Hand touch teaches you to write a responsive page from 0 using Echart