learn classes in ES6, and I want to do the task: create contructor RandomNumber, which returns random number from 1 to 100. For example:
const random = new RandomNumber();
alert(random); // 46
I tried to solve it in the following way:
class RandomNumber {
constructor() {
this.randomNum = (function() {
return Math.floor(Math.random() * 101);
})();
}
}
const random = new RandomNumber();
console.log(random);
But it returns the object like { randomNum: 46 }. How to return only number when I run new RandomNumber(), not the object? Thank you in advance
Here is jsfiddle https://jsfiddle.net/j24o0gxm/
You use classes to construct objects, not primitives like numbers. You could create an object with the class that has a method to return a random number, but that seems like overkill. I think it'd make more sense to just write a function to return the random number instead of creating a class.
Thanks, I'll try to make it with function
You want a number returning function, not a class
Learning how to do it with classes is a great idea, but you are returning on function to a property of the class thereby making it a method, I hope you know what you are doing
Обсуждают сегодня