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
这里是一个函数,但也是常量?有人能帮助我理解这个吗?
答案 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,我建议您这样做)