javascript 如何为函数和数组等对象创建替代语法?

How does javascript create an alternate syntax for objects such as function and array?

我一直想知道的是,javascript(或一般语言)如何使用 'alternate' 语法来声明内置对象的实例化?例如。

// This being the same as..
var array = new Array('hi','there');

// This.
var array = ['hi','there'];

// or
var myFun = new Function("a","b","return a * b");

// being the same as..
var myFun = function(a,b){ return a * b }

如果我要在自己的图书馆工作,有什么办法可以做到这一点吗?说我想为特定事物制作某种新语法?原型方法中有什么东西吗?还是说这是开发者无法掌握的,只有W3才能掌握的东西?

John Resig 的 jQuery 似乎具有独特的语法

$('.class').css({'color':'#000'});

为了获得这种级别的定制,他必须做一些更深入的事情吗?或者是做类似的事情的问题..

// Obviously just a very simple example.
var $ = function(param){
    return document.querySelectorAll(param);
}

我很想知道并期待听到您的回答,谢谢。

没有 JavaScript 库会改变语言的语法,因为 JavaScript 没有本地工具可以做到这一点。例如,jQuery "syntax" 只是简单的 JavaScript 语法。您也可以创建自己的名为 $ 的函数,并编写 return 对象的函数以允许 "chaining" 代码风格。

某些语言具有功能各异的宏工具,可以有效地编造新语法。 JavaScript 不是其中一种语言(没有一些外部工具)。

TypeScript、PureScript 和 CoffeeScript 之类的东西本质上是预处理器,它们解析不同的语法以生成纯文本 JavaScript。