如何使用不可变的 JavaScript 模拟状态

How to simulate state using immutable javascript

本文关键字:模拟 状态 JavaScript 何使用 不可变      更新时间:2023-09-26

//REVISION 1

而不是构建命令行插件(它获得一个新的环境状态,因此函数本身不能保留状态@T.J. Crowder),假设我正在构建一个要在脚本中调用的简单函数。

简单的例子:(计数器插件)我希望插件每次运行时都递增一个。

即。

console.log(counter())
    -> 1
console.log(counter())
    -> 2

我假设答案与递归循环有关,但我不明白如何实现这一目标?

我最好的猜测是它看起来像这样:

export function counter(){
    return counter
}
<小时 />/

/第一个版本

我正在使用不可变js构建一个命令行节点插件。

简单的例子:(计数器插件)我希望插件每次运行时都递增一个。

即。

$ node bin/counter
-> 1
$ node bin/counter
-> 2

我假设答案与递归循环有关,但我不明白如何实现这一目标?

我最好的猜测是它看起来像这样:

export function counter(){
    return counter
}

我假设答案与递归循环有关......

不,这与递归无关。

你需要让"插件"将其状态存储在某个地方,因为每次它通过node运行时,它都会得到一个全新的全局环境。

因此,例如,它可能会将该数据存储在文件中。