Reputation: 3
Hello I'm new to coding and I wanted to try how far I've learned ( not so much ) So I made this:
var Name = prompt('What is your name?')
var Name
var Age = prompt('What is your age?')
var Age
const RealAge = 2018 - Age
if (Name && RealAge) {
console.log("Hello " + Name + " you were born in " + RealAge + ' ...')
} else if (typeof Name == 'undefined') {
console.log("Please insert your name")
} else if (typeof Age == 'undefined' ) {
console.log("Please insert your age")
}
I want to know how to make the console.log says "Please insert your name" if you leave the first prompt empty and "Please insert your age" if the second prompt was left empty.
I'm sorry if this is a stupid question but I just started 2 days ago and I'll appreciate your help :)
Upvotes: 0
Views: 146
Reputation: 88
if (Name && RealAge) {
console.log("Hello " + Name + " you were born in " + RealAge + ' ...')
} else if (!Name) {
console.log("Please insert your name")
} else if (!Age) {
console.log("Please insert your age")
}
!Name
will evaluate to true if the value is falsy (undefined, null, empty string).
Additionally, as mentioned by Frederico, it would be better to check the values before you do any calculations:
var Name = prompt('What is your name?')
var Name
var Age = prompt('What is your age?')
var Age
if (!Name) {
console.log("Please insert your name")
} else if (!Age) {
console.log("Please insert your age")
} else {
const RealAge = 2018 - +Age;
console.log("Hello " + Name + " you were born in " + RealAge + ' ...')
}
If you need to know when both were not entered:
var Name = prompt('What is your name?')
var Name
var Age = prompt('What is your age?')
var Age
if (!Name) {
if (!Age) {
console.log("Please insert your name and age")
}
else {
console.log("Please insert your name")
}
} else if (!Age) {
console.log("Please insert your age")
} else {
const RealAge = 2018 - +Age;
console.log("Hello " + Name + " you were born in " + RealAge + ' ...')
}
Upvotes: 4
Reputation: 36703
You do not declare a variable again and again. Also if user does not enter anything in the prompt then its value is ""
and not undefined. So just check with === ""
.
var Name = prompt('What is your name?');
var Age = prompt('What is your age?');
const RealAge = 2018 - +Age;
if (Name && RealAge) {
console.log("Hello " + Name + " you were born in " + RealAge + ' ...')
} else if (Name === '') {
console.log("Please insert your name")
} else if (Age === '' ) {
console.log("Please insert your age")
}
Upvotes: 2