Tengo el siguiente ejercicio de código:
Cree la clase Pasante con los siguientes campos: Nombre (Cadena) Apellido (Cadena) Pereza (número de 20 a 50) Curiosidad (número de 0 a 100) Habilidad (número de 0 a 100) Irresponsabilidad (número flotante de 0.0 a 1.0) Para esto método de creación de clase que calcula la "marca" para el interno, que se calcula mediante fórmula
Pregunta: ¿Cómo puedo agregar restricciones al tipo de datos original en una clase? como int a, pero en el rango de 20 a 50. o cadena. Aquí está mi código sin restricciones:
class Intern { constructor(name, surname, laziness, curiosity, skill, irresponsibility) { this.name = name this.surname = surname this.laziness = laziness this.curiosity = curiosity this.skill = skill this.irresponsibility = irresponsibility } getMark() { let mark = (((this.skill+this.curiosity)*(1.5 - this.irresponsability))/(this.laziness*0.25)); return mark }}
¿Qué le gustaría que sucediera si el valor dado está fuera de las restricciones? ¿Debe el pasante obtener un valor predeterminado?
Haría declaraciones if para cada atributo y verificaría si el valor dado es mayor que la restricción más baja y más pequeño que la más alta:
class Intern { constructor(name, surname, laziness, curiosity, skill, irresponsibility) { this.name = name this.surname = surname if(laziness<=50 && laziness>=20){ this.laziness = laziness } if(curiosity<=100 && curiosity>=0){ this.curiosity = curiosity this.skill = skill this.irresponsibility = irresponsibility } getMark() { let mark = (((this.skill+this.curiosity)*(1.5 - this.irresponsability))/(this.laziness*0.25)); return mark }el operador <= y >= comprueba si el valor es menor o igual o mayor o igual.