Делает ли класс, встроенный в javascript, свойство доступным даже без использования методов GET и SET этого свойства?

#javascript #class #oop

Вопрос:

Смотрите код:

 class Moto {

constructor(velAtual = 0, velMaxima = 298, dlta = 10) {
    this.velocidadeAtual = velAtual,
        this.velocidadeMaxima = velMaxima,
        this.delta = dlta
}

acelerar = function () {
    if (this.velocidadeAtual   this.delta <= this.velocidadeMaxima) {
        this.velocidadeAtual  = this.delta
    } else {
        this.velocidadeAtual = this.velocidadeMaxima
    }
}

// métodos get
 

Даже опуская метод get и set из свойства ‘velAtual’, код выводит содержащееся в нем значение.

 /*
get velAtual() {
    return this.velocidadeAtual
}
*/
get velMaxima() {
    return this.velocidadeMaxima
}
get dlta() {
    return this.delta
}

// métodos set
/*
set velAtual(velocidade) {
    this.velocidadeAtual = velocidade
}
*/
set velMaxima(maxima) {
    this.velocidadeMaxima = maxima
}
set dlta(aceleracao) {
    this.delta = aceleracao
}
}

const R1 = new Moto
R1.acelerar()
R1.acelerar()
R1.acelerar()
R1.acelerar()
console.log(R1.velocidadeAtual)
 

Выход:
40

Может ли это представлять собой дыру в безопасности в том, как я написал код? Как мне лучше это написать? Пожалуйста, мне нужна помощь с этим занятием.

Комментарии:

1. Свойства по умолчанию являются общедоступными. Вы ищете частные поля ?