Because the module file itself is already a logical grouping, and its top-level name is defined by the code that imports it, it’s unnecessary to use an additional module layer for exported objects. The maximum and minimum sizes listed here are the absolute maximum and absolute minimum sizes in bytes. A namespace is designed to overcome this difficulty and is used as additional information to differentiate similar functions, classes, variables etc. The reference tag here allows us to locate the declaration file that contains the declaration for the ambient module. The possible argument names are fetched from-- Module:Namespace detect automatically in case new namespaces are-- added. “External modules” are now simply “modules”, as to align with ECMAScript 2015’s terminology, (namely that module X {is equivalent to the now-preferred namespace X {). The program is ill-formed (no diagnostic required) if two modules export conflicting declarations of the same name; non-exported declarations may coexist so long as a declaration of one such entity does not occur … We can create a namespace by using the namespace keyword and all the interfaces, classes, functions, and variables can be defined in the curly braces{} by using the export keyword. Namespaces can be a good way to structure your code in a Web Application, with all dependencies included as