var name =()()有什么作用?

宝石切割机

我遇到了如下代码。

return new Promise(function (resolve, reject) {
      if (!message) return reject(new Error('Requires message request to send'));
      message = (0, _getURLJWT)(message);
      .....
      .....
      var enc = (0, _encryptMessage)(plaintext, pubEncKey);

      }, function (error, res, body) {
       ....
       ....
      });
    });

我不了解代码中的两个表达式:

message = (0, _getURLJWT)(message);
var enc = (0, _encryptMessage)(plaintext, pubEncKey);

这看起来像IIFE(立即调用的函数表达式),但是,我不明白该行末尾的括号如何正常工作或它们正在做什么。

有人可以帮我理解吗?

错误

_getURLJWT_encryptMessage可能分别是使用参数message调用的函数plaintext, pubEncKey

当您编写两个用逗号运算符分隔的值时,Javascript将评估其所有操作数并返回最后一个。因此0, 1将进行评估1

因此,(0, _getURLJWT)(message)将评估为_getURLJWT(message)

例如:

console.log((0,1)); //1

(0, (myArg) => console.log(myArg))('hello'); //hello

使用这种技术的原因

调用此方法可确保在this设置为全局对象的情况下调用该函数

const myObj = {
    printMe: function() { console.log(this); },
}

myObj.printMe(); //{printMe: ƒ}

(0, myObj.printMe)(); // Window {parent: Window, opener: null...} <= loses reference, the this will not longer be bound to myObj, but will be bound to the global object.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

git name-rev有什么作用?

android:name属性有什么作用?

fieldset元素的name属性有什么作用?

Shell脚本中<%= var_name%>的含义是什么

替换$ {!var_name + x}是什么意思?

作为typeid(var).name()的输出,“ PKc”是什么意思?

为什么在ES5中没有挂起var name = function(){...}形式的函数?

对未定义的var进行条件检查有什么作用?

var声明后,该花括号块有什么作用?

PHP关键字“ var”有什么作用?

在 var 或 val 后有两个名字的情况下,Kotlin 语法是什么: var (name1, name2) =

/ var中有什么?

[“ $ var”] && $ var做什么?

“ $ var”和$ {var}有什么区别?

var和&(* var)有什么区别

MAX_MODULE_NAME32 有什么作用?

为什么将 python 命令分配给 sh var?这个文件有什么作用?

为什么var =-不起作用?

为什么我们可以无错误地设置“ var name = null”

为什么此代码中的var.name [i]是打印站到值

var [:] = []与var = []有何不同?

函数 var value = document.getElementById(id).files[0] 在 JavaScript 中有什么作用?

“ var = $ {var:-word}”和“ var = $ {var:= word}”之间有什么区别?

print(var,var) 和 print(var),(var) 有什么区别?

[QueryProperty(“ Name”,“ name”)]在Xamarin Shell应用程序中有什么作用?

Rust中var和_var有什么区别?

int var []和int var [0]有什么区别

$ {var:-word}和$ {var-word}有什么区别?

$ {var:= default}与$ {var:-default}-有什么区别?