Q1. Guess the output
console.log(0,1 + 0,2);
console.log(0,1 + 0,2 == 0,3);
Сделайте вдох, не прыгайте прямо в решение
Output: 0.30000000000000004 False
Причина: в этом фрагменте первый очень прямолинейный, это добавление двух значений десятичных чисел в следующем, мы проверяем условие, которое является истинным или ложным.
Q2. Guess the output
функция getValue1 () {
возвращаться {
бар: «привет» };
}
функция getValue2() {
возвращаться
{
бар: "привет"
};
}
console.log(“getValue1 returns:”); console.log(getValue1()); console.log(“getValue2 returns:”); console.log(getValue2());
Подождите, этот фрагмент будет работать нормально? подумай хорошенько, не лезь в решение
getValue1 returns: { bar: 'hello' } getValue2 returns: undefined
Причина: Причина этого связана с тем фактом, что точка с запятой технически необязательна в JavaScript (хотя опускать их, как правило, очень дурной тон). В результате, когда строка, содержащая оператор return
(без других строк), встречается в getValue2()
, сразу после оператора return автоматически вставляется точка с запятой.