javascript函数(帮帮我理解)

时间:2018-05-29 02:25:56

标签: javascript function

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 :(得分:0)

首先澄清const

const声明一个不能重新分配其引用的常量。但是,如果它指向某个对象或数组,则可以进行变异。

你不能这样做:

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

但你可以这样做

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

就是说,在Javascript函数中是一等公民。这意味着您可以将函数分配给变量或从其他函数返回。 所以在你的情况下,你有一个不能重新赋值的变量指向一个函数(换句话说,函数是const的值)

您可以在此处详细了解:First-class Functions(如果您正在学习Javascript,我建议您这样做)