我对 Observable 在其文档中使用“运算符”一词感到困惑,想知道他们是否误用了它,或者我根本不理解。
运算符,它可以让你定义交互值。视图是一个具有两个面的单元格:它的用户界面和它的编程值。viewof
viewof text = html.html`<input value="edit me">
名为
的viewof
运算符呈现文本字段。可以通过调用text
在其他地方访问该字段的值。text
https://observablehq.com/documentation/cells/observable-javascript
在此上下文中,= 右侧的位是 JavaScript,左侧的位是特殊的 Observable 语法。
text =
就是他们所说的变量赋值(类似于 JS 变量声明)。
预先添加
viewof
会更改声明的语义,类似于(对我而言)在其他上下文中的声明之前添加 public
或 static
。
(Observable 还有另一个这样的“运算符”,
mutable
)。
将其描述为“运营商”是否合理?如果不是,更好的术语是什么?
术语 operator 没有适用于所有语言的非常精确的定义,但它通常指的是表达式中使用的东西。例如,ECMAScript 规范(定义了我们所认为的 JavaScript)目前表示:
ECMAScript 还定义了一组内置的运算符。 ECMAScript 运算符包括各种一元运算、乘法运算符、加法运算符、按位移位运算符、关系运算符、相等运算符、二进制按位运算符、二进制逻辑运算符、赋值运算符和逗号运算符。
这不是一个定义,and据我所知它不是一个完整的列表(它似乎缺少较新的运算符;例如,它的任何类别似乎都不涵盖无效合并和可选链接,其中每一个都被描述作为 ECMAScript 2020 更改列表中的“运算符”),但我认为它支持运算符出现在表达式中的直觉。
从你的解释来看,听起来
viewof
不符合这个标准,所以我同意你的感觉,这不是正确的术语。我想我会说它属于更广泛的“关键字”或“保留字”类别。