定义为对象属性的节点JS函数参数-是否允许?

时间:2018-11-27 00:37:49

标签: javascript node.js function parameters syntactic-sugar

我一直在VS Code终端面板上运行Node JS代码,偶然发现了一点语法糖

    HttpsURLConnection urlConnection = (HttpsURLConnection) new URL("https://test.test/api").openConnection();
    urlConnection.setSSLSocketFactory(buildSocketFactory());
    urlConnection.setDoOutput(true);
    urlConnection.setRequestMethod("get");
    urlConnection.setHostnameVerifier(new HostnameVerifier() {
        @Override
        public boolean verify(String hostname, SSLSession sslSession) {
            return true;
        }
    });
    urlConnection.getOutputStream();

可以声明为

function foo(input_mapping){
  console.log(
    input_mapping.a,
    input_mapping.b,
    input_mapping.c
  );
}

在两个地方都用类似的名称

function foo({a,b,c}){
  console.log(a,b,c);
}

但是,最近我试图通过终端运行相同的代码,第一个{被标记为语法错误。这是怎么回事?为什么一个终端会出问题而另一终端不会出问题?哪种JS解释是正确的?

0 个答案:

没有答案