Javascript/google闭包库中的类型转换

Typecasting in Javascript / google closure library

本文关键字:类型转换 闭包 google Javascript      更新时间:2023-09-26

我正在通过chrome.extension.SendMessage API将一个由goog.structs.Set组成的复杂对象从内容脚本传递到后台页面。另一方面,该goog.structs.Set被接收为Object
如何将其类型转换回goog.structs.Set,以便在其上调用各种方法?

你是说闭包编译器吗?

function receiveStructsSet( aSetObject ){
    var mySet =  /** @type {goog.structs.Set} */ (aSetObject); 
}

请参阅http://developer.chrome.com/extensions/messaging.html,您只能使用chrome.extension.SendMessage.传递JSON

就我个人而言,我使用一个简单的对象作为集合,并避免使用goog.structs.set:

var MySet = Object.create(null);

如果use必须使用goog.structs.Set,则需要将其序列化并反序列化为JSON。

您也可以在函数声明之前使用注释

/**
 *  @param {goog.structs.Set} aSetObject description of object
 */
function receiveStructsSet( aSetObject ){
  aSetObject.getCount();
}