не получает данные табличного представления после перезагрузки табличного представления

В соответствии с его непрерывной записью обратной совместимости, ECMAScript 6, JavaScript по-прежнему не имеет типа class (хотя не все это понимают). У этого есть ключевое слово class как часть его синтаксиса class для создания прототипов, но все еще не называется классом. JavaScript теперь не является и никогда не был классическим языком ООП. Говоря о JS в терминах класса, это либо вводит в заблуждение, либо признак еще не grokking прототипа наследования (просто сохраняя его реальным).

Это означает, что this.constructor все еще отличный способ получить ссылку на constructor. И this.constructor.prototype - это способ доступа к самому прототипу. Поскольку это не Java, это не класс. Это объект-прототип, из которого был создан ваш экземпляр. Вот пример использования синтаксического сахара ES6 для создания цепочки прототипов:

class Foo {
  get foo () {
    console.info(this.constructor, this.constructor.name)
    return 'foo'
  }
}

class Bar extends Foo {
  get foo () {
    console.info('[THIS]', this.constructor, this.constructor.name, Object.getOwnPropertyNames(this.constructor.prototype))
    console.info('[SUPER]', super.constructor, super.constructor.name, Object.getOwnPropertyNames(super.constructor.prototype))

    return `${super.foo} + bar`
  }
}

const bar = new Bar()
console.dir(bar.foo)

Это то, что выводится с помощью babel-node:

> $ babel-node ./foo.js                                                                                                                   ⬡ 6.2.0 [±master ●]
[THIS] [Function: Bar] 'Bar' [ 'constructor', 'foo' ]
[SUPER] [Function: Foo] 'Foo' [ 'constructor', 'foo' ]
[Function: Bar] 'Bar'
'foo + bar'

Там у вас есть! В 2016 году в JavaScript есть ключевое слово class, но до сих пор не существует типа класса. this.constructor - лучший способ получить конструкторскую функцию, this.constructor.prototype лучший способ получить доступ к самому прототипу.

3
задан Vishal Parmar 16 January 2019 в 12:24
поделиться

1 ответ

numberOfSections возвращает 0, вы должны вернуть как минимум 1, если хотите что-либо увидеть.

Подсказка: Если у вас есть только 1 раздел, вы можете опустить его, поскольку 1 - это возвращаемое значение по умолчанию.

0
ответ дан Pratik Prajapati 16 January 2019 в 12:24
поделиться