JavaScript namespace page template

Note: Remove this whole explanatory note before publishing


Page front matter:

The front matter at the top of the page is used to define "page metadata". The values should be updated appropriately for the particular namespace.

md
---
title: Namespace
slug: Web/JavaScript/Reference/Global_Objects/Namespace
page-type: javascript-namespace
status:
  - deprecated
  - experimental
  - non-standard
browser-compat: javascript.builtins.Namespace
sidebar: jsref
---
title

Title heading displayed at the top of the page. Format as Namespace. For example, the Math namespace has a title of Math.

slug

The end of the URL path after https://developer.mozilla.org/en-US/docs/. This should be formatted like Web/JavaScript/Reference/Global_Objects/Namespace.

page-type

The page-type key for JavaScript namespaces is javascript-namespace.

status

Flags describing the status of this feature. An array which may contain one or more of the following: experimental, deprecated, non-standard. This key should not be set manually: it is set automatically based on values in the browser compatibility data for the feature. See "How feature statuses are added or updated".

browser-compat

Replace the placeholder value javascript.builtins.Namespace with the query string for the namespace in the Browser compat data repo. The toolchain automatically uses the key to populate the compatibility and specification sections (replacing the {{Compat}} and {{Specifications}} macros).

Note that you may first need to create/update an entry for the namespace in our Browser compat data repo, and the entry for the API will need to include specification information. See our guide on how to do this.

This is jsref for JavaScript namespace pages. See Page structures: Sidebars for details.


Top-of-page macros

A number of macro calls appear at the top of the content section (immediately below the page front matter).

These macros are automatically added by the toolchain (there is no need to add/remove):

  • {{SeeCompatTable}} — this generates a This is an experimental technology banner that indicates the technology is experimental. If it is experimental, and the technology is hidden behind a pref in Firefox, you should also fill in an entry for it in the Experimental features in Firefox page.
  • {{Non-standard_Header}} — this generates a Non-standard banner that indicates that the feature is not part of any specification.

Do not provide status header macros manually. Refer to the section How feature statuses are added or updated to add these statuses to the page.

Samples of the Experimental and Non-standard banners are shown right after this note block.

Remember to remove this whole explanatory note before publishing.

Note: Remember the single most important principle for writing consistent JavaScript reference pages: look around! Many related pages have consistent structures beyond what's required in this template. For example, all proxy handlers, most array methods, etc. Start by looking for existing documentation for similar APIs and copy its structure.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

The Namespace namespace object contains static properties and methods for doing something. This should ideally be 1 or 2 short sentences. Generally, don't write more than a single paragraph with more than a few sentences: significant detail goes into the description.

Write an interactive example that demonstrates important aspects of the namespace. This should be rare: usually, you would have interactive examples for each individual method and property. Only write an interactive example for the namespace if it demonstrates the namespace as a whole, such as a full parse-serialize round trip using JSON.

Try it

const data = Namespace.doSomething(1);
const result = Namespace.doSomethingElse(data);
console.log(result);
// Expected output: 42

Description

Always start with the following paragraph:

Unlike most global objects, Namespace is not a constructor. You cannot use it with the new operator or invoke the Namespace object as a function. All properties and methods of Namespace are static (just like the Math object).

The description for a namespace should contain the following:

  • Background information about why the API is useful
  • Core concepts that subpages could potentially link to
  • Overview of ways to interact with this API
  • Caveats

Use H3 headings as appropriate.

Static properties

{{jsxref("Namespace.nameOfTheProperty")}}

Contains something.

Namespace[Symbol.toStringTag]

The initial value of the Symbol.toStringTag property is the string "Namespace". This property is used in Object.prototype.toString().

Static methods

{{jsxref("Namespace.nameOfTheMethod()")}}

Does something.

Examples

Note that we use the plural "Examples" even if the page only contains one example.

A descriptive heading

Each example must have an H3 heading naming the example. The heading should be descriptive of what the example is doing. For example, "A simple example" does not say anything about the example and therefore, not a good heading. The heading should be concise. For a longer description, use the paragraph after the heading. The first example may be called "Using Namespace".

See our guide on how to add code examples for more information.

Specifications

{{Specifications}}

To use this macro, remove the backticks and backslash in the markdown file.

Browser compatibility

{{Compat}}

To use this macro, remove the backticks and backslash in the markdown file.

See also

Include links to reference pages and guides related to the current namespace. For more guidelines, see the See also section in the Writing style guide.