@private, @protected @public
Closure,
.
Compiler:
, Compiler:
,
, @private @protected,
. ,
,
JavaScript.
file1.js
goog.provide('ns1');
ns1.global = 'foo';
alert('ns1.global = ' + ns1.global);
ns1.Constructor = function() {
this.secret_ = ns1.global;
};
ns1.instance = new ns1.Constructor();
alert(ns1.instance.secret_);
file2.js
goog.provide('ns2');
goog.require('ns1');
alert('ns1.global = ' + ns1.global);
ns2.instance2 = new ns1.Constructor();
alert(ns2.instance2.secret_);
--jscomp_error=visibility Closure
.
ERROR - Access to private property global of ns1 not allowed here.
alert('ns1.global = ' + ns1.global);
^
ERROR - Access to private property secret_ of ns1.Constructor not allowed here.
alert(ns2.instance2.secret_);
^
( ) JavaScript JavaScript
.