Я расширяю (извините за неправильные имена, пришедшие из других языков, я новичок в JS) Page
Объект, добавив множество функций, например firstLevelFunction1
и firstLevelFunction2
.Моя цель - сгруппировать эти функции, чтобы я мог получить к ним доступ по точкам, например: firstLevelGroup.secondLevelFunction1
.Я создал firstLevelGroup
так же, как firstLevelFunction
.Функция testLevels
предназначена только для проверки поведения на разных уровнях. Когда я ее называю, вывод будет таким:
функция первого уровня1
функция первого уровня2
{get: [Function: get]}
{get: [Function: get]}
пока я ожидаю:
функция первого уровня1
функция первого уровня2
функция второго уровня1
функция второго уровня2
Мой код:
let Page = require('./../page')
let JsTestingPage = Object.create(Page, {
firstLevelFunction1: {get: function () { return 'first level function1' }},
firstLevelFunction2: {get: function () { return 'first level function2' }},
firstLevelGroup: { get: function () {
return {
secondLevelFunction1: {
get: function () {
return 'second level function1'
}
},
secondLevelFunction2: {
get: function () {
return 'second level function2'
}
}
}
}
},
testLevels: {value: function () {
console.log(this.firstLevelFunction1)
console.log(this.firstLevelFunction2)
console.log(this.firstLevelGroup.secondLevelFunction1)
console.log(this.firstLevelGroup.secondLevelFunction2)
}}
})
module.exports = JsTestingPage
Я также пробовал другие версии, но безуспешно.Приведенный выше не возвращает ошибку по крайней мере.
Посоветуйте, пожалуйста, что делать для группировки функций.Кроме того, не стесняйтесь говорить, что не имеет смысла группировать функции вообще:)
Кстати, эта структура (первый уровень) более или менее происходит из фреймворка webdriver.io.Группировка функций на второй уровень - моя идея сделать файл более понятным и структурированным.