gpt4 book ai didi

javascript - 未捕获的类型错误 : Assignment to constant variable

转载 作者:行者123 更新时间:2023-12-02 02:04:17 24 4
gpt4 key购买 nike

我的变量不是常量,但仍然收到错误:“未捕获类型错误:对常量变量进行赋值。”知道为什么吗?

蛇.js

export let SNAKE_SPEED = 3;

食物.js

import { snakeBody, SNAKE_SPEED } from "./snake.js";

export function update() {

let head = snakeBody[0];
if (head.x == food.x && head.y == food.y) {
food.x = Math.round(Math.random() * 21);
food.y = Math.round(Math.random() * 21);
SNAKE_SPEED++;
}

}

相关变量是 SNAKE_SPEED。

最佳答案

从其他模块导入的标识符无法重新分配。要实现这样的目标,您可以让其他模块导出一个更改它的函数,例如:

export let SNAKE_SPEED = 3;
export const changeSnakeSpeed = newSpeed => SNAKE_SPEED = newSpeed;
import { snakeBody, SNAKE_SPEED, changeSnakeSpeed } from "./snake.js";

然后调用changeSnakeSpeed(SNAKE_SPEED + 1)SNAKE_SPEED将会改变。

或者做类似的事情

export const incrementSnakeSpeed = () => SNAKE_SPEED++;
incrementSnakeSpeed();

或者将经常更改的变量放入可以变异的单个对象中(或者重新分配并再次检索,如果您更喜欢不变性)。

关于javascript - 未捕获的类型错误 : Assignment to constant variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68659291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com