javascript - 即使没有此属性的 GET 和 SET 方法,javascript 中构建的类是否也使该属性可用?
问题描述
见代码:
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
即使从 'velAtual' 属性中省略 get 和 set 方法,代码也会输出其中包含的值。
/*
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
这是否代表我编写代码的方式存在安全漏洞?我该怎么写才能更好?请我在这门课上需要帮助。
解决方案
推荐阅读
- node.js - npm install mosca fail 错误:`make` 失败,退出代码:2
- android - 平台通道数据铸造颤振
- swift - 在 /Users/Shared/ 创建目录 - 使用 Swift
- wordpress - WooCommerce 订单状态未正确分配 PayPal 付款
- c# - MEF .NET Core 如何导出 CompositionHost?
- python - pandas.DataFrame.replace() 得到“OverflowError: Python int too large to convert to C long”
- c# - C# 类 - 过于通用导致不必要的开销?
- sql - 如何对三个不相关的表中的值求和
- wcf - 自托管 WCF 服务上的 CORS
- apache-nifi - 具有多个输入的 Apache Nifi EvaluateJsonPath