+ 13
can anyone explain these simple codes to me?
var age = "15"; var message = (age < " year")? true: (age > "year")? false : true; alert(message); correct answer: true. Why? let [learn, solo = "solo"] = "learn"; [solo, learn] = [learn, solo]; console.log(solo + learn); a) le b) learnsolo c) Error d) learn output: le. Why?
7 Respostas
+ 9
>>>PART 1
I want to provide an complementary explanation on the first quiz.
First and foremost, the hungry alligator always eats the largest number. Have that in your mind!
1 oooo< eats the largest number 3
3 >oooo eats the largest number 1
Note: oooo< this is an alligator (=
Let's break down the question:
var message = ("15" < " year") ? true: ("15" > "year") ? false: true;
>Part A
("15" < " year")
console.log("15" < " year"); //false
empty strings convert to 0 in a comparison. This is the same as this:
"15" < "0year" //false
console.log("15" < "year"); //true
We discover here that ("15" < " year") gets false. The ternary operator (condition ? truthy : falsy) returns the falsy condition:
("15" > "year").
+ 10
;)
In Javascript, strings are treated mostly as arrays. So, this is the same as:
let [learn, solo = "solo"] = ["l", "e", "a", "r", "n"];
The string "solo" is an optional value for the variable solo; but it's overwritten by "e". So,
learn = "l", solo = "e"
Then, their values are switched, so solo + learn ("l" + "e") will be equal to "le"
+ 8
>>>PART 2
> Part B
("15" > "year").
Just remember that letters are the big bosses who command over numbers when BOTH are STRINGS.
console.log("bossLetters" > "10"); //true
Different types (numbers vs strings) are always FALSE no matter the operator!
console.log("bossLetters" > 10); //false
console.log("bossLetters" < 10); //false
Finally we discover that this part
("15" > "year") ? false: true;
The alligator is eating the number. Numbers are not great than strings/letters, right?.
That's why the second falsy part returns and we finish our assignment to message variable to: true.
+ 7
Airree , thanks for this and your other answers, it helps a lot
+ 5
Mofey , thanks for your help!