如何在Javascript中定义关键字?

如何在Javascript中定义关键字?,javascript,Javascript,我试着这样做: var varr = var; varr x = 10; 它不起作用,原因很明显,但你明白了。如何在Javascript中定义关键字,如如何在C中定义关键字: #define var int var x = 10; 上面的代码不起作用,但是有没有办法在Javascript中执行类似的操作?我不是绝对需要,只是想知道。var是Javascript保留的标记,因此不能被错误地使用,也不能作为变量名的一部分 当JavaScript解析我们的代码时,它会在幕后将所有内容转换为适当的字

我试着这样做:

var varr = var;
varr x = 10;
它不起作用,原因很明显,但你明白了。如何在Javascript中定义关键字,如如何在C中定义关键字:

#define var int
var x = 10;

上面的代码不起作用,但是有没有办法在Javascript中执行类似的操作?我不是绝对需要,只是想知道。

var
是Javascript保留的标记,因此不能被错误地使用,也不能作为变量名的一部分


当JavaScript解析我们的代码时,它会在幕后将所有内容转换为适当的字符,然后引擎尝试按顺序执行我们的语句,因为var是一个保留标记,它将抛出
未捕获的SyntaxError:Unexpected token'var'

JavaScript不允许您使用保留关键字作为标识符的值,您将要做的是一个非常明显的错误。您定义了变量并将其赋值为js不知道的不受支持的数据类型


在C语言中实现这一点的原因是
#define
允许您在编译之前声明在源代码中替换的宏。Javascript没有宏的概念,因此它不是语言的一部分,但是JS中有一些工具可以让您添加这种编译步骤,即使它不是JS本身的一部分

Babel可能是最流行的方法,它非常有用,尽管我不确定是否可以用它来重新定义语言的某些部分

您可以改为使用类似于“随心所欲”的方法,它允许您添加一个预处理器步骤来替换宏。然而,正如我所说,JS不支持宏,因此这是生成有效Javascript所必须执行的步骤

syntax varr = function (ctx) {
  return #`var`;
};
varr test = 10;

同样重要的是,在C语言中,这是内置在语言中的东西,因此IDE可以理解如何处理宏,但是如果使用外部工具,使用重新定义关键字的宏就不会有乐趣,特别是在语法突出显示等方面。这是我绝对不鼓励的,但如果您愿意超越Javascript的界限,从技术上讲这是可能的。

您不能在Javascript中做到这一点。但你可以做到这一点<代码>变量=thisHey,这里的关键字是指在javascript中定义变量吗?@Gagandepsing我不太确定我是否理解你的评论你想要什么?您想为变量定义类型吗?@Nuwan.Niroshana我想定义
varr
,这样我就可以在
var
的位置使用它。
syntax varr = function (ctx) {
  return #`var`;
};
varr test = 10;
var x; // declare empty variable
x = 1;

var y   = "String";
var z   = [];
var foo = {};
syntax varr = function (ctx) {
  return #`var`;
};
varr test = 10;
$ sjs test.sweet
var test = 10;