функция JavaScript (помогите мне понять) - PullRequest
0 голосов
/ 29 мая 2018
let calculatorIsOn = false;

const pressPowerButton = () => {
   if (calculatorIsOn) {
     console.log('Calculator turning off.');
     calculatorIsOn = false;
   } else {
     console.log('Calculator turning on.');
     calculatorIsOn = true;
   }
};

pressPowerButton();
// Output: Calculator turning on.

pressPowerButton();
// Output: Calculator turning off.

pressPowerButton здесь функция, но также и константа?Может ли кто-нибудь помочь мне понять это?

1 Ответ

0 голосов
/ 29 мая 2018

Сначала некоторые пояснения по const

const объявляют константу, ссылка на которую не может быть переназначена.Однако, если он указывает, например, на объект или массив, он может быть мутирован.

Вы не можете сделать это:

const someString = 'Hello';
someString = 'Bye' // TypeError: Assignment to constant variable.

Но вы можете сделать это

const car = {
    brand: 'Audi',
    color: 'red'
};
car.color = 'blue';

Как говорится, в Javascript функции являются первоклассными гражданами.Это означает, что вы можете назначить функцию переменной или вернуть ее из другой функции.Так что в вашем случае у вас есть переменная, которая не может быть переназначена, указывая на функцию (другими словами, функция является значением константы)

Подробнее об этом можно прочитать здесь: First-Функции класса (И я рекомендую вам сделать это, если вы изучаете Javascript)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...