對象字面量全解釋

一、對象字面理解

對象字面量是JavaScript中創建對象的一種方式,可以在一個代碼塊中創建或初始化一個對象,對象字面量通常由大括號包圍,並且由零個或多個鍵值對組成。

對象字面量可以用來創建簡單的對象或者自定義對象,可以通過它來構建JSON格式數據。

二、對象字面量表示法

對象字面量的基本組成方式為鍵值對,它由一組用逗號分隔的鍵值對構成。鍵是一個字符串,而值可以是任何一個JavaScript表達式,可以是函數、對象或者任何其他表達式。對象字面量鍵和值之間使用冒號`:`來分隔,多個鍵值對之間使用逗號`,`分隔。

let person = {
  name: 'Tom',
  age: 20
};

對象字面量表示法還支持對象屬性的訪問器(getter和setter),下面的例子展示了這個寫法。

let person = {
  _name: 'Tom',
  get name() {
    return this._name;
  },
  set name(val) {
    this._name = val;
  }
};

三、對象字面量是什麼意思

字面量表示常量的值,我們通過字面量定義的值是固定的,不能被重複定義或更改。因此,對象字面量僅用於創建對象,而不是對對象屬性進行修改。

同一個JavaScript文件中多個對象字面量,則它們也是獨立的,不會相互干擾,可以使用對任何一個對象字面量進行訪問和操作,這樣就實現了代碼的模塊化和封裝。

四、對象字面量創建

創建對象字面量的方式有兩種:一種是使用對象字面值直接創建,另一種是使用工廠方法創建。

1、使用對象字面值直接創建

let student = {
  name: 'Jerry',
  age: 18,
  gender: 'Male',
  score: [98, 100, 88],
  showScore: function() {
    console.log(this.score);
  }
};

2、使用工廠方法創建

function createStudent(name, age, gender, score) {
  return {
    name: name,
    age: age,
    gender: gender,
    score: score,
    showScore: function() {
      console.log(this.score);
    }
  };
}
let student1 = createStudent('Tom', 20, 'Male', [88, 92, 95]);
let student2 = createStudent('Jerry', 18, 'Male', [98, 100, 88]);

五、對象字面量增強

ES6提供了一種更簡潔的語法來創建對象字面量,稱之為對象字面量增強。使用對象字面量增強的方式,可以不用再書寫鍵和值,只需要書寫鍵即可。

1、簡寫鍵名

let name = 'Tom';
let age = 20;
let person = {
  name,
  age
};

2、對象方法簡寫

let person = {
  name: 'Tom',
  sayName() {
    console.log(this.name);
  }
};

3、計算屬性名

let key = 'name';
let person = {
  [key]: 'Tom'
};

六、對象字面量創建對象

常見的創建對象的方法有三種:工廠模式、構造函數模式和Object.create()方法。

1、工廠模式

function createPerson(name, age, gender) {
  return {
    name: name,
    age: age,
    gender: gender
  };
}
let person1 = createPerson('Tom', 20, 'Male');
let person2 = createPerson('Jerry', 18, 'Male');

2、構造函數模式

function Person(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
}
let person1 = new Person('Tom', 20, 'Male');
let person2 = new Person('Jerry', 18, 'Male');

3、Object.create()方法

let person = {
  name: 'Tom',
  age: 20,
  gender: 'Male',
  sayName: function() {
    console.log(this.name);
  }
};
let newPerson = Object.create(person);

七、對象字面量的形式

對象字面量的形式有兩種,一種是鍵值對形式,另一種是函數式。

1、鍵值對形式

let person = {
  name: 'Tom',
  age: 20,
  gender: 'Male',
  sayName: function() {
    console.log(this.name);
  }
};

2、函數式

let person = function(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
  this.sayName = function() {
    console.log(this.name);
  };
};

八、對象字面量鍵值排序

對象字面量創建的鍵值順序是按照書寫順序排列的。如果希望按照特定的順序排列鍵值,可以將它們按照所期望的順序排序後再創建字面量。

let person = {
  name: 'Tom',
  gender: 'Male',
  age: 20
};

以上代碼的鍵值順序為按照字母序排列的”name”、”age”和”gender”。

如果希望按照”gender”、”name”和”age”的順序排列鍵值,則需要將它們按照順序排序後再寫入鍵值對。

let person = {
  gender: 'Male',
  name: 'Tom',
  age: 20
};

九、對象字面量鍵值排序代碼示例

let person = {
  name: 'Tom',
  gender: 'Male',
  age: 20
};

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/183322.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:28
下一篇 2024-11-24 16:28

相關推薦

  • Python字面量的介紹與應用

    Python是一種高級編程語言,它以其簡潔的語法和豐富的庫而廣受歡迎。Python字面量是程序員經常使用的一種數據類型,一個簡單的字面量即可描述一個數值、字符串或其他基本數據類型。…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28
  • Python返回對象類型

    Python是一種動態、解釋型、高級編程語言。Python是一種面向對象的語言,即所有的一切都是一個對象。 一、基本類型 Python中的基本類型有整數int、浮點數float、布…

    編程 2025-04-28
  • Python中通過對象不能調用類方法和靜態方法的解析

    當我們在使用Python編寫程序時,可能會遇到通過對象調用類方法和靜態方法失敗的問題,那麼這是為什麼呢?接下來,我們將從多個方面對這個問題進行詳細解析。 一、類方法和靜態方法的定義…

    編程 2025-04-27
  • Python內置函數——查看對象內存

    本文將介紹Python內置函數中,在開發中查看對象內存的相關函數。 一、id()函數 id()函數是Python內置函數,用於返回對象的唯一標識符,也就是對象在內存中的地址。 nu…

    編程 2025-04-27
  • 解決ERP運行時錯誤429:ActiveX不能創建對象 DAO350

    ERP運行時錯誤429是由於「ActiveX不能創建對象」而引發的。這種錯誤通常是由於您在嘗試訪問Microsoft Access數據庫時缺少了必要的組件。 一、安裝並註冊DAO庫…

    編程 2025-04-27
  • forof遍歷對象的詳細闡述

    forof是一種ES6的語法糖,用於遍歷可迭代對象。相較於傳統的for循環和forEach方法,forof更加簡潔、易讀,並且可以遍歷各種類型的數據。 一、基本語法 forof的基…

    編程 2025-04-25
  • Vue數組添加對象詳解

    在Vue框架下,我們經常需要用到對數組添加新的對象的功能,在本篇文章中,我們將從以下幾個方面對Vue數組添加對象做詳盡的說明。 一、通過unshift和push方法添加對象 Vue…

    編程 2025-04-25
  • JavaScript創建對象的幾種方式詳解

    JavaScript是一門用於在網頁上實現動態交互效果的編程語言,對於前端開發而言,掌握JavaScript創建對象的幾種方式是必備技能之一。在本文中,我們將從多個方面詳細闡述Ja…

    編程 2025-04-24

發表回復

登錄後才能評論