Javascript 是否有任何理由在高级编译中使用@type作为私有变量?

Javascript 是否有任何理由在高级编译中使用@type作为私有变量?,javascript,google-closure-compiler,jsdoc,Javascript,Google Closure Compiler,Jsdoc,JSDoc文档说JSDoc只用于生成API文档,但我们也使用Google的闭包编译器进行高级编译 在函数作用域中,我们有许多字符串,例如 var cssLeft、cssTop、cssWidth、cssHeight、cssMinWidth、cssMinHeight、cssMaxWidth、, cssMaxHeight,cstransform 是否有任何理由为每个变量包含@type{string} 对于googleclosurecompiler,定义类型不会有什么坏处,而且可能会加快速度和/或缩小生

JSDoc文档说JSDoc只用于生成API文档,但我们也使用Google的闭包编译器进行高级编译

在函数作用域中,我们有许多字符串,例如

var cssLeft、cssTop、cssWidth、cssHeight、cssMinWidth、cssMinHeight、cssMaxWidth、,
cssMaxHeight,cstransform


是否有任何理由为每个变量包含
@type{string}

对于googleclosurecompiler,定义类型不会有什么坏处,而且可能会加快速度和/或缩小生成的代码


使用@type的原因:对于JSDoc,没有理由不使用@type,因为变量没有公开,所以没有必要

对于googleclosurecompiler,定义类型不会有什么坏处,而且可能会加快速度和/或缩小生成的代码


使用@type的原因:对于JSDoc,没有理由不使用@type,因为变量没有公开,所以没有必要

对于googleclosurecompiler,定义类型不会有什么坏处,而且可能会加快速度和/或缩小生成的代码


使用@type的原因:对于JSDoc,没有理由不使用@type,因为变量没有公开,所以没有必要

对于googleclosurecompiler,定义类型不会有什么坏处,而且可能会加快速度和/或缩小生成的代码


使用@type的原因:没有理由不

如果已知值类型,闭包编译器通常会推断局部变量的类型。声明值的类型可以让编译器在赋值时告诉您该值是否属于意外类型。如果不重新分配EcmaScript 6,则首选“const”,或者干脆选择@const:

/** @const */ var x = ...
请注意,如果要声明类型,闭包编译器还支持“内联”类型语法:

var /** string */ x = ..., /** string */ y = ...

如果已知值类型,闭包编译器通常会推断局部变量的类型。声明值的类型可以让编译器在赋值时告诉您该值是否属于意外类型。如果不重新分配EcmaScript 6,则首选“const”,或者干脆选择@const:

/** @const */ var x = ...
请注意,如果要声明类型,闭包编译器还支持“内联”类型语法:

var /** string */ x = ..., /** string */ y = ...

如果已知值类型,闭包编译器通常会推断局部变量的类型。声明值的类型可以让编译器在赋值时告诉您该值是否属于意外类型。如果不重新分配EcmaScript 6,则首选“const”,或者干脆选择@const:

/** @const */ var x = ...
请注意,如果要声明类型,闭包编译器还支持“内联”类型语法:

var /** string */ x = ..., /** string */ y = ...

如果已知值类型,闭包编译器通常会推断局部变量的类型。声明值的类型可以让编译器在赋值时告诉您该值是否属于意外类型。如果不重新分配EcmaScript 6,则首选“const”,或者干脆选择@const:

/** @const */ var x = ...
请注意,如果要声明类型,闭包编译器还支持“内联”类型语法:

var /** string */ x = ..., /** string */ y = ...

根据经验,当您指定可见性时,您可以在编译期间获得更简洁、更高级的编译错误检查

从闭包编译器文档 将成员标记为私有
只有同一文件中的代码才能访问标记为@private的全局变量和函数。
标记为@private的构造函数只能由同一文件中的代码及其静态和实例成员实例化

标记为@private的构造函数的公共静态属性也可以在任何地方访问,并且instanceof操作符始终可以访问@private成员

例如:

/***正在侦听此记录器的处理程序
*@private {Array}*/this.handlers=[]


此处的更多信息

根据经验当您指定可见性时,您将在编译期间获得更简洁、更高级的编译错误检查

从闭包编译器文档 将成员标记为私有
只有同一文件中的代码才能访问标记为@private的全局变量和函数。
标记为@private的构造函数只能由同一文件中的代码及其静态和实例成员实例化

标记为@private的构造函数的公共静态属性也可以在任何地方访问,并且instanceof操作符始终可以访问@private成员

例如:

/***正在侦听此记录器的处理程序
*@private {Array}*/this.handlers=[]


此处的更多信息

根据经验当您指定可见性时,您将在编译期间获得更简洁、更高级的编译错误检查

从闭包编译器文档 将成员标记为私有
只有同一文件中的代码才能访问标记为@private的全局变量和函数。
标记为@private的构造函数只能由同一文件中的代码及其静态和实例成员实例化

标记为@private的构造函数的公共静态属性也可以在任何地方访问,并且instanceof操作符始终可以访问@private成员

例如:

/***正在侦听此记录器的处理程序
*@private {Array}*/this.handlers=[]


此处的更多信息

根据经验当您指定可见性时,您将在编译期间获得更简洁、更高级的编译错误检查

从闭包编译器文档 将成员标记为私有
只有同一文件中的代码才能访问标记为@private的全局变量和函数。
标记为@private的构造函数只能由同一文件中的代码及其静态变量实例化