javascript - 在 React 组件中实例化 JavaScript 对象

标签 javascript

我有 javascript 类,其中包含一些数据和两个函数。

export class BookStore {
  constructor() {
    this._books = [
      { id: 1,title: "How to Learn JavaScript - Vol 1", info: "Study hard"},
      { id: 2,title: "How to Learn ES6", info: "Complete all exercises :-)"},
      { id: 3,title: "How to Learn React",info: "Complete all your CA's"},
      { id: 4,title: "Learn React", info: "Don't drink beers, until Friday (after four)"
    }]
    this._nextID= 5;
  }

  get books(){ return this._books;}

  addBook(book){
    book.id = this._nextID;
    this._books.push(book);
    this._nextID++;
  }
}

现在我想创建该类的一个对象,并控制台记录其书籍项目

const book =Object.create(BookStore)
console.log(book.books)

我尝试了几种方法,例如对象创建方法,并尝试直接调用它。

import {BookStore} from './BookStore/BookStore.js'

最佳答案

您使用Object.create而不是new关键字来实例化该类。

使用以下代码:

const book = new BookStore();
console.log(book.books);

Object.create 仅复制对象的原型(prototype),但不调用构造函数

您可以阅读有关 Understanding Object.create 的更多信息在相关问题中。

关于javascript - 在 React 组件中实例化 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973529/

相关文章:

javascript - JavaScript 中的 HTTP GET 请求?

javascript - 如果表格单元格的文本与变量相同,则更改表格单元格的 CSS

javascript - React 按钮组件 onClick() 在页面加载时触发,而不是 onclick

javascript - 如何设置href?

javascript - memcache 出现 ECONNREFUSED 错误

javascript - JavaScript 中的请求来自哪里?

javascript - 网络应用程序 - 设备高度/键盘问题

javascript - 我们如何访问 Node.js 应用程序之外的内存?

javascript - 为什么这个函数不等到它有来自 XHR 请求的数据?

c# - 每次加载新的 JQuery 插件 DataTables 时都会加载更改事件导致内存泄漏