From 600ace5cf423d810bcbb9a42e1a87ec173ad1c82 Mon Sep 17 00:00:00 2001 From: Sami Vaarala Date: Fri, 15 Aug 2014 20:53:17 +0300 Subject: [PATCH] Arguments object internal doc improvements --- doc/arguments-object.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/arguments-object.rst b/doc/arguments-object.rst index 236e67cc..72638042 100644 --- a/doc/arguments-object.rst +++ b/doc/arguments-object.rst @@ -342,7 +342,7 @@ does not happen in relevant cases and would require additional checks. Exotic [[Get]] behavior ======================= -A non-strict arguments object has a exotic ``[[Get]]`` implementation. +A non-strict arguments object has an exotic ``[[Get]]`` implementation. This is unusual, because most exotic behaviors are defined through a custom ``[[GetOwnProperty]]`` or ``[[DefineOwnProperty]``. Because this exotic behavior operates at the ``[[Get]]`` level, it affects @@ -369,7 +369,9 @@ Then: Note that this behavior is only defined for a non-strict arguments object (i.e. arguments object created for a non-strict callee), and protects the ``caller`` property from being read, if the caller is -strict. +strict. Quite oddly, if the function has no formal parameters, it +gets no "parameter map" and also doesn't get the exotic ``[[Get]]`` +behavior for ``caller``! However, the ``caller`` property *can* be read through e.g. ``Object.getOwnPropertyDescriptor()`` (which uses