<p><strong>Ответ: <code>hello</code></strong></p>
<p dir="auto"><code>String.prototype.someThing = function () {}</code> это обычный способ определения нового встроенного метода для <code>String</code>. Мы можем сделать то же самое с <code>Array</code>, <code>Object</code> или <code>FunctionName</code> где <code>functionName</code> - это функция, разработанная нами самими.</p>
<p dir="auto">Нетрудно понять, что <code>"string".lengthy()</code> будет всегда возвращать <code>hello</code>. Тем не менее, сложная часть заключается в том, что <code>delete object</code> может заставить подумать, что это выражение полностью удалит объект. Это не так, поскольку <code>delete</code> используется только для удаления свойства объекта. Это не приводит к удалению объекта. Мы получаем <code>hello</code> вместо <code>ReferenceError</code>.</p>
<p dir="auto">Обратите внимание, что если мы объявим объект без <code>let, const</code> или <code>var</code>, то получим глобальный объект. <code>delete objectName</code> будет возвращать <code>true</code>. В противном случае он всегда возвращает <code>false</code>.</p>
<p><strong>Ответ: <code>hello</code></strong></p>
<p dir="auto"><code>String.prototype.someThing = function () {}</code> это обычный способ определения нового встроенного метода для <code>String</code>. Мы можем сделать то же самое с <code>Array</code>, <code>Object</code> или <code>FunctionName</code> где <code>functionName</code> - это функция, разработанная нами самими.</p>
<p dir="auto">Нетрудно понять, что <code>"string".lengthy()</code> будет всегда возвращать <code>hello</code>. Тем не менее, сложная часть заключается в том, что <code>delete object</code> может заставить подумать, что это выражение полностью удалит объект. Это не так, поскольку <code>delete</code> используется только для удаления свойства объекта. Это не приводит к удалению объекта. Мы получаем <code>hello</code> вместо <code>ReferenceError</code>.</p>
<p dir="auto">Обратите внимание, что если мы объявим объект без <code>let, const</code> или <code>var</code>, то получим глобальный объект. <code>delete objectName</code> будет возвращать <code>true</code>. В противном случае он всегда возвращает <code>false</code>.</p>
Ниже представлено пояснение.
Ответ: hello
String.prototype.someThing = function () {}
это обычный способ определения нового встроенного метода для String
. Мы можем сделать то же самое с Array
, Object
или FunctionName
где functionName
- это функция, разработанная нами самими.
Нетрудно понять, что "string".lengthy()
будет всегда возвращать hello
. Тем не менее, сложная часть заключается в том, что delete object
может заставить подумать, что это выражение полностью удалит объект. Это не так, поскольку delete
используется только для удаления свойства объекта. Это не приводит к удалению объекта. Мы получаем hello
вместо ReferenceError
.
Обратите внимание, что если мы объявим объект без let, const
или var
, то получим глобальный объект. delete objectName
будет возвращать true
. В противном случае он всегда возвращает false
.