Существует довольно мало способов создания объекта в JavaScript.
Наверное, это самый быстрый и простой способ создать объект в JavaScript. Это также называется инициализатором объекта. Это разделенный запятыми список из нуля или более пар имен свойств и связанных значений объекта, заключенный в фигурные скобки ({}).
const newObject = {} // Simply create a new empty object const newObject = { someKey: "someValue", anotherKey: "anotherValue" }
Значения объекта могут быть либо примитивным типом данных, либо другим объектом.
Вы можете создать объект, используя встроенный конструктор объектов.
Если переданное значение равно нулю, неопределенно или значение не передано, создается и возвращается пустой объект.
Если значение уже является объектом, оно возвращает то же значение.
// below options create and return an empty object const ObjWithNoValue = new Object(); const ObjWithUndefined = new Object(undefined); const ObjWithNull = new Object(null); const newObject = { someKey: "someValue", anotherKey: "anotherValue" } const sameObject = new Object(someObject); sameObject['andAnotherKey'] = "one another value"; sameObject === newObject; // both objects are same.
Этот метод позволяет создать новый объект с определенным прототипом. Такой подход позволяет новому объекту наследовать свойства и методы прототипа, облегчая поведение, подобное наследованию.
const person = { greet: function () { console.log(`Hello ${this.name || 'Guest'}`); } } const driver = Object.create(person); driver.name = 'John'; driver.greet(); // Hello John
До ES6 это был распространенный метод создания нескольких похожих объектов. Конструктор — это не что иное, как функция, и с помощью нового ключевого слова вы можете создать объект.
Хорошей практикой является использование первого символа имени функции с заглавной буквы при создании объекта с ключевым словом «new».
function Person(name, location) { this.name = name; this.location = location; greet() { console.log(`Hello, I am ${this.name || 'Guest'} from ${this.location || 'Earth'}`); } } const alex = new Person('Alex'); alex.greet(); // Hello, I am Alex from Earth const sam = new Person('Sam Anderson', 'Switzerland'); sam.greet(); // Hello, I am Sam Anderson from Switzerland
Более современный подход помогает создавать объект, как и другие языки ООП, используя класс с функцией-конструктором для инициализации свойств и методов.
class Person { constructor(name, location) { this.name = name || 'Guest'; this.location = location || 'Earth'; } greet() { console.log(`Hello, I am ${this.name} from ${this.location}`); } } const santa = new Person('Santa'); santa.greet(); // Hello, I am Santa from Earth
Ссылки:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3