diff --git a/files/en-us/web/javascript/reference/global_objects/date/tostring/index.md b/files/en-us/web/javascript/reference/global_objects/date/tostring/index.md index fcf348ff14c6b2f..1b8af5d4710c303 100644 --- a/files/en-us/web/javascript/reference/global_objects/date/tostring/index.md +++ b/files/en-us/web/javascript/reference/global_objects/date/tostring/index.md @@ -75,11 +75,7 @@ represented as a text value, e.g. `console.log(new Date())`, or when a date is used in a string concatenation, such as `const today = 'Today is ' + new Date()`. -`toString()` is a generic method, it does not require that its -`this` is a {{jsxref("Date")}} instance. However, it must have an internal -`[[TimeValue]]` property that can't be constructed using native JavaScript, -so it's effectively limited to use with {{jsxref("Date")}} instances. If called on a -non–Date instance, a {{jsxref("TypeError")}} is thrown. +`Date.prototype.toString()` must be called on {{jsxref("Date")}} instances. If the `this` value does not inherit from `Date.prototype`, a {{jsxref("TypeError")}} is thrown. ## Examples diff --git a/files/en-us/web/javascript/reference/global_objects/function/bind/index.md b/files/en-us/web/javascript/reference/global_objects/function/bind/index.md index eea9449b0e45c08..126eae4e707ba3a 100644 --- a/files/en-us/web/javascript/reference/global_objects/function/bind/index.md +++ b/files/en-us/web/javascript/reference/global_objects/function/bind/index.md @@ -40,32 +40,7 @@ arguments (if provided). ## Description -The `bind()` function creates a new **bound function**, which -is an _exotic function object_ (a term from ECMAScript 2015) that wraps the -original function object. Calling the bound function generally results in the execution -of its wrapped function. - -A bound function has the following internal properties: - -- **`[[BoundTargetFunction]]`** - - : The wrapped function object. -- **`[[BoundThis]]`** - - : The value that is always passed as `this` value when calling the wrapped - function. -- **`[[BoundArguments]]`** - - : A list of values whose elements are used as the first arguments to any call to the - wrapped function. -- **`[[Call]]`** - - : Executes code associated with this object. Invoked via a function call expression. - The arguments to the internal method are a `this` value and a list - containing the arguments passed to the function by a call expression. - -When a bound function is called, it calls internal method `[[Call]]` on -`[[BoundTargetFunction]]`, with following arguments -`Call(boundThis, ...args)`. Where -`boundThis` is `[[BoundThis]]`, -`args` is `[[BoundArguments]]`, followed by the -arguments passed by the function call. +The `bind()` function creates a new **bound function**. Calling the bound function generally results in the execution of its wrapped function. The bound function will store the parameters passed — which include the value of `this` and the first few arguments — as its internal state. These values are stored in advance, instead of being passed at call time. You can generally see `const boundFn = fn.bind(thisArg, arg1, arg2)` as being equivalent to `const boundFn = (...restArgs) => fn.call(thisArg, arg1, arg2, ...restArgs)`. A bound function may also be constructed using the {{jsxref("Operators/new", "new")}} operator. Doing so acts as though the target function had instead been constructed. The diff --git a/files/en-us/web/javascript/reference/global_objects/symbol/for/index.md b/files/en-us/web/javascript/reference/global_objects/symbol/for/index.md index 2794f90985ffa16..79f64fd1087c258 100644 --- a/files/en-us/web/javascript/reference/global_objects/symbol/for/index.md +++ b/files/en-us/web/javascript/reference/global_objects/symbol/for/index.md @@ -36,22 +36,12 @@ returned. ## Description In contrast to `Symbol()`, the `Symbol.for()` function creates a -symbol available in a global symbol registry list. `Symbol.for()` does also +symbol available in a [global symbol registry](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry) list. `Symbol.for()` does also not necessarily create a new symbol on every call, but checks first if a symbol with the given `key` is already present in the registry. In that case, that symbol is returned. If no symbol with the given key is found, `Symbol.for()` will create a new global symbol. -### Global symbol registry - -The global symbol registry is a list with the following record structure and it is -initialized empty: - -| Field name | Value | -| ---------- | --------------------------------------- | -| [[key]] | A string key used to identify a symbol. | -| [[symbol]] | A symbol that is stored globally. | - ## Examples ### Using Symbol.for() diff --git a/files/en-us/web/javascript/reference/global_objects/symbol/keyfor/index.md b/files/en-us/web/javascript/reference/global_objects/symbol/keyfor/index.md index 5d8969e7cc1e8cb..6bbb7e25858fd88 100644 --- a/files/en-us/web/javascript/reference/global_objects/symbol/keyfor/index.md +++ b/files/en-us/web/javascript/reference/global_objects/symbol/keyfor/index.md @@ -28,8 +28,7 @@ Symbol.keyFor(sym); ### Return value -A string representing the key for the given symbol if one is found on the global -registry; otherwise, {{jsxref("undefined")}}. +A string representing the key for the given symbol if one is found on the [global registry](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry); otherwise, {{jsxref("undefined")}}. ## Examples