Reputation:
here is my code.
let userName = 'dave'
userName = userName ? console.log(`Hello, ${userName}`) : console.log('Hello!')
let userQuestion = 'Am I crazy'
console.log(`${userName} asked: ${userQuestion}`)
expected output
Hello, dave
dave asked: Am I crazy
actual output
Hello, dave
undefined asked: Am I crazy
Why is it showing 'undefined` ?
Upvotes: 0
Views: 134
Reputation: 158
You are assigning incorrect value in the second line, which makes it undefined.
let userName = 'dave'
//userName = userName ? console.log(`Hello, ${userName}`) : console.log('Hello!')
console.log(userName ? `Hello, ${userName}` : 'Hello!')
let userQuestion = 'Am I crazy'
console.log(`${userName} asked: ${userQuestion}`)
Upvotes: 1
Reputation: 192
userName = userName ? console.log(`Hello, ${userName}`) : console.log('Hello!')
This line of code changes the content of the variable userName by whatever the console.log() return. And they return undefined
Upvotes: 2
Reputation: 9663
you are trying to assign the console.log to userName and using it. change the code to
let userName = 'dave'
console.log(userName ? `Hello, ${userName}` : 'Hello!');
let userQuestion = 'Am I crazy'
console.log(`${userName} asked: ${userQuestion}`)
or you can use the line as follows.
userName ? console.log(`Hello, ${userName}`) : console.log('Hello!')
let userName = 'dave'
userName ? console.log(`Hello, ${userName}`) : console.log('Hello!');
let userQuestion = 'Am I crazy'
console.log(`${userName} asked: ${userQuestion}`)
Upvotes: 6