在javascript代码中,我有这个功能
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
user = User.find_for_facebook_oauth(request.env['omniauth.auth'])
if user.persisted?
sign_in_and_redirect user, event: :authentication
set_flash_message(:notice, :success, kind: 'Facebook') if is_navigational_format?
else
session['devise.facebook_data'] = request.env['omniauth.auth']
redirect_to new_user_registration_url
end
end
end
oObjFoo是类型:{&#34; a&#34;:数字,&#34; b&#34;:文字,&#34; c&#34;:bool}
oObjBar是类型:{&#34; c&#34;:数字,&#34; d&#34;:文字}
如何使用google闭包编译器指定@param,@ return以进行更严格的类型检查?
答案 0 :(得分:2)
/**
* @param {{a:number, b:string, c: boolean }} oObjFoo
* @return {{c:number, d:string}}
*/
var foo = function (oObjFoo) {
// do something
return oObjBar;
}
请注意,注释必须以双星号开头,以便编译器将其计为JsDoc注释。
答案 1 :(得分:0)
看看JSDoc:
http://usejsdoc.org/tags-param.html
/**
* @param {Object} oAttributes
* @param {namespace.extension=} oAttributes.parent DOC-Description
* @param {jQuery=} oAttributes.$element Optional jQuery-Element
*/