Aliases
Another way that you can simplify working with of namespaces is to use import q = x.y.z
to create shorter names for commonly-used objects. Not to be confused with the import x = require("name")
syntax used to load modules, this syntax simply creates an alias for the specified symbol. You can use these sorts of imports (commonly referred to as aliases) for any kind of identifier, including objects created from module imports.
namespace Shapes { export namespace Polygons { export class Triangle { } export class Square { } } } import polygons = Shapes.Polygons; let sq = new polygons.Square(); // Same as 'new Shapes.Polygons.Square()'
Notice that we don’t use the require
keyword; instead we assign directly from the qualified name of the symbol we’re importing. This is similar to using var
, but also works on the type and namespace meanings of the imported symbol. Importantly, for values, import
is a distinct reference from the original symbol, so changes to an aliased var
will not be reflected in the original variable.
Please login to continue.