Оригинальный вопрос был приостановлен, так что вот новая попытка в другой формулировке. Я надеюсь, что теперь становится понятнее:Javascript: Основы конструктора классов - определение свойства по отдельному методу
Вопрос: Как я могу сделать следующее с помощью частных методов вместо использования прототипа?
function numberPlusFive(nr) {
this.number = number + 5;
this.square = this.calculateSquare();
this.isPrime = this.checkIfPrime();
}
numberPlusFive.prototype = {
calculateSquare: function() {
return this.number * this.number;
},
checkIfPrime: function() {
// check if this.number is a prime number
return true; // or false
},
}
Методы (calculateSquare, checkIfPrime) больше не нужны после создания класса. Я хочу сделать вычисления в отдельных методах, но мне не нужны методы, чтобы быть общедоступными.
Важно: мне нужны уже вычисленные свойства для дальнейших вычислений (поэтому в данном примере, this.number
должны быть доступны в calculateSquare
и checkIfPrime
- и нет, я не могу просто пересчитать this.number
потому что в реальном сценарии, это требует много времени для расчета.).
Так что это вопрос? – hindmost
Вопрос: вам нужно 'calculateSquare & checkIfPrime' как общедоступные методы? –
Нет, мне не нужно вычислятьSquare & checkIfPrime как общедоступные методы – am2124429