<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          8個(gè)最常用的Javascript對(duì)象方法

          共 3619字,需瀏覽 8分鐘

           ·

          2021-09-14 11:25

          英文 | https://medium.com/geekculture/8-javascript-object-methods-every-developer-should-know-46838e6dc879

          翻譯 | 楊小二


          Javascript 對(duì)象方法是包含內(nèi)置函數(shù)定義的屬性,用于有效地處理單個(gè)對(duì)象并從中獲取信息。
          語(yǔ)法:ObjectName.methodName()
          在本文中,我們將討論 Javascript 中 7 個(gè)最常用的對(duì)象方法,它們將幫助你更輕松地使用對(duì)象原型!
          1、 Object.is()
          Object.is() 是一種判斷兩個(gè)值是否相同的方法。
          語(yǔ)法:Object.is(value1, value2);
          參數(shù):
          value1:要比較的第一個(gè)值。
          value2:要比較的第二個(gè)值。
          返回值:一個(gè)布爾表達(dá)式,指示兩個(gè)參數(shù)是否具有相同的值。
          例子:
          // Case 1: Evaluation result is the same as using '==='Object.is(25, 25);                // trueObject.is('foo', 'bar');          // falseObject.is(foo, foo);              // true// Case 2: Signed zeroObject.is(0, -0);                 // falseObject.is(0n, -0n);               // true// Case 3: NaNObject.is(NaN, 0/0);              // trueObject.is(NaN, Number.NaN)        // true

          2、Object.assign()

          Object.assign() 方法用于將所有可枚舉的自身屬性從一個(gè)或多個(gè)源對(duì)象復(fù)制到目標(biāo)對(duì)象。

          語(yǔ)法:Object.assign(target, ...sources)

          參數(shù):

          target:目標(biāo)對(duì)象——應(yīng)用源屬性的對(duì)象,修改后返回。

          sources:源對(duì)象——包含你要應(yīng)用的屬性的對(duì)象。

          返回值:修改后的目標(biāo)對(duì)象。

          例子:

          const target = { a: 1, b: 2 };const source = { b: 4, c: 5 };const returnedTarget = Object.assign(target, source);console.log(target);// expected output: Object { a: 1, b: 4, c: 5 }console.log(returnedTarget);// expected output: Object { a: 1, b: 4, c: 5 }

          注意:如果源對(duì)象中的屬性具有相同的鍵,則目標(biāo)對(duì)象中的屬性會(huì)被源中的屬性覆蓋。較晚來(lái)源的屬性會(huì)覆蓋較早來(lái)源的屬性。

          3、Object.entries()

          Object.entries() 方法返回給定對(duì)象自己的可枚舉字符串鍵屬性 [key, value] 對(duì)的數(shù)組。

          它類(lèi)似于使用 for...in 循環(huán)進(jìn)行迭代,除了 for...in 循環(huán)還會(huì)枚舉原型鏈中的屬性。屬性的順序與通過(guò)手動(dòng)循環(huán)對(duì)象的屬性值給出的順序相同。

          語(yǔ)法:Object.entries(obj)

          參數(shù):

          obj:要返回其自己的可枚舉字符串鍵屬性 [key, value] 對(duì)的對(duì)象。

          返回值:給定對(duì)象自己的可枚舉字符串鍵屬性 [key, value] 對(duì)的數(shù)組。

          例子:

          const object1 = {name: "David", age: 23};for (const [key, value] of Object.entries(object1)) {  console.log(`${key}: ${value}`);}// "name: David"// "age: 23"

          4、Object.values()

          Object.values() 方法返回給定對(duì)象自己的可枚舉屬性值的數(shù)組,其順序與 for...in 循環(huán)提供的順序相同。

          語(yǔ)法:Object.values(obj)

          參數(shù):

          obj:要返回其可枚舉自身屬性值的對(duì)象。

          返回值:包含給定對(duì)象自己的可枚舉屬性值的數(shù)組。

          例子:

          const object1 = {  a: 'somestring',  b: 42,  c: false};console.log(Object.values(object1));// expected output: Array ["somestring", 42, false]

          5、Object.prototype.hasOwnProperty()

          hasOwnProperty() 方法返回一個(gè)布爾值,指示對(duì)象是否具有指定的屬性作為它自己的屬性。

          如果指定的屬性是對(duì)象的直接屬性,則該方法返回 true — 即使值為 null 或未定義。如果該屬性是繼承的或根本沒(méi)有聲明,則返回 false。

          語(yǔ)法:hasOwnProperty(prop)

          參數(shù)

          prop:要測(cè)試的屬性的字符串名稱(chēng)或符號(hào)。

          返回值:如果對(duì)象將指定的屬性作為自己的屬性,則返回true;否則為false。

          例子:

          const object1 = {};object1.property1 = 42;console.log(object1.hasOwnProperty('property1'));// expected output: trueconsole.log(object1.hasOwnProperty('toString'));// expected output: falseconsole.log(object1.hasOwnProperty('hasOwnProperty'));// expected output: false

          6、Object.keys()

          Object.keys() 方法用于返回給定對(duì)象自己的可枚舉屬性名稱(chēng)的數(shù)組,以與普通循環(huán)相同的順序迭代。

          語(yǔ)法:Object.keys(obj)

          參數(shù):

          obj:要返回可枚舉自身屬性的對(duì)象。

          返回值:表示給定對(duì)象的所有可枚舉屬性的字符串?dāng)?shù)組。

          例子:

          const object1 = {  a: 'somestring',  b: 42,  c: false};console.log(Object.keys(object1));// expected output: Array ["a", "b", "c"]

          7、 Object.prototype.toString()

          toString() 方法返回一個(gè)表示對(duì)象的字符串。當(dāng)對(duì)象將被表示為文本值或以期望字符串的方式引用對(duì)象時(shí),將自動(dòng)調(diào)用此方法 id。默認(rèn)情況下,toString() 方法由從 Object 繼承的每個(gè)對(duì)象繼承。

          語(yǔ)法:toString()

          返回值:表示對(duì)象的字符串。

          例子:

          function Dog(name) {  this.name = name;}const dog1 = new Dog('Gabby');Dog.prototype.toString = function dogToString() {  return `${this.name}`;};console.log(dog1.toString());// expected output: "Gabby"

          注意:對(duì)于 Numbers 和 Big Ints,toString() 采用可選參數(shù) radix,其值必須最小為 2,最大為 36。

          8、Object.freeze()

          Object.freeze() 方法凍結(jié)一個(gè)對(duì)象,這意味著它不能再被更改。凍結(jié)對(duì)象可防止向其添加新屬性,防止刪除現(xiàn)有屬性,防止更改現(xiàn)有屬性的可枚舉性、可配置性或可寫(xiě)性,并防止更改現(xiàn)有屬性的值。它還可以防止其原型被更改。

          語(yǔ)法:Object.freeze(obj)

          參數(shù):

          obj:要凍結(jié)的對(duì)象。

          返回值:傳遞給函數(shù)的對(duì)象。

          例子:

          const obj = { prop: 42};Object.freeze(obj);obj.prop = 33;// Throws an error in strict modeconsole.log(obj.prop);// expected output: 42

          本文完~

          學(xué)習(xí)更多技能

          請(qǐng)點(diǎn)擊下方公眾號(hào)


          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  琪琪先锋 torrent magnet 国产精品久久久久久久久久久久久免费看 | 国产主播av | 午夜免费福利视频一区二区三区 | 成人精品影院 | 国产精品色 |