DictionaryForumContacts

 enuser

link 22.08.2017 19:16 
Subject: К чему относится выражение в скобках? progr.
Имеется такое предложение:

Every object created by a constructor has an implicit reference (called the object's prototype) to the value of its constructor's "prototype" property.

С точки зрения правил английского языка, выражение в скобках относится к implicit reference или к a constructor?

Мой здравый смысл подсказывает, что выражение в скобках относится к implicit reference. Так ли это?

Мои варианты перевода:

1) Каждый объект создаваемый конструктором имеет неявную ссылку (называемую прототипом объекта) на значение своего свойства с одноименным названием "прототип".

2) Каждый объект создаваемый конструктором имеет неявную ссылку(совокупность конструктора вместе с неявной ссылкой называется прототипом объекта) ...

И еще есть третий вариант, в котором слово called можно перевести как вызывать/ссылаться.

3) Каждый объект создаваемый конструктором имеет неявную ссылку(которая ссылается на прототип объекта)...

Пока что я склоняюсь к первому варианту.

 интровверт

link 22.08.2017 19:21 
к implicit reference
особенно если текст про джаваскрипт

 Анна Ф

link 22.08.2017 19:30 

Every object created by a constructor has an implicit reference (called the object's prototype) to the value of its constructor's "prototype" property.

Для каждого объекта, создаваемого конструктором, имеется неявная (подразумеваемая) ссылка (называемая прототипом объекта) на значение свойства (характеристики) этого прототипа, на основе которого он и создан конструктором.

отсылка?

 enuser

link 22.08.2017 19:43 
Спасибо за ответы.

интровверт, да речь как раз о javascript. Изучаю этот язык, читаю пару книг и официальную спецификацию. Я так и думал, что это относится к implicit reference, но почему то засомневался из-за того, что у меня есть предвзятое мнение, что прототип объекта в javascripte это конструктор объекта. Но видимо это не так. Видимо прототип это неявная ссылка на конструктор.

Анна Ф, спасибо.

 Translucid Mushroom

link 22.08.2017 20:03 
к constructor было бы constructor (called the object's prototype) has an implicit reference

 enuser

link 22.08.2017 20:16 
к constructor было бы constructor (called the object's prototype) has an implicit reference
Спасибо. Я тоже так думаю. Просто мне нужно мнение со стороны, чтобы убедится не ошибаюсь ли я.

 интровверт

link 22.08.2017 22:02 
прототип - это не ссылка и не конструктор. это другой объект.
а формулировка в вашем тексте не вполне точная.

\\\ constructor's "prototype" property.
здесь слово prototype (которое взято в кавычки) ни в коем случае нельзя ни переводить, ни транслитерировать, ни даже вынимать из кавычек.
потому что это слово не на английском, а на джаваскрипте - так на ём называется эта пропертя.

 enuser

link 23.08.2017 11:36 
формулировка в вашем тексте не вполне точная.
И самое весёлое, то что эта формулировка взята из официального стандарта по языку. :) Я то надеялся, что в первоисточнике найду ясное определение что такое прототип, но не всё так просто :)

Что касается последней части предложения, то там мне всё понятно. (ну по крайней мере я так думаю:)) Но вот с этой ремаркой в скобках прям засада какая-то.

 Oleg Sollogub

link 23.08.2017 11:49 
почему-то вы конец фразы переводите все время не так, как иам написано

1) Каждый объект, создаваемый конструктором, имеет неявную ссылку (называемую прототипом объекта) на значение ...

... свойства "prototype" конструктора

 enuser

link 23.08.2017 12:05 
почему-то вы конец фразы переводите все время не так, как иам написано

Я сосредоточил всё внимание на середине фразы со скобками. Конец фразы мне понятен без перевода. А вот эта фраза в скобках сбивает меня с толку.

Спасибо за ваш вариант перевода.

 интровверт

link 23.08.2017 17:19 
\\\ Я то надеялся, что в первоисточнике найду ясное определение что такое прототип, но не всё так просто :)

например вот здесь более вразумительное объяснение:

http://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
...
When it comes to inheritance, JavaScript only has one construct: objects. Each object has a private property (referred to as [[Prototype]] ) which holds a link to another object called its prototype. That prototype object has a prototype of its own, and so on until an object is reached with null as its prototype. By definition, null has no prototype, and acts as the final link in this prototype chain.
...

а в вами читаемом источнике истина слишком завуалирована. конкретно вот это место просто плохо написано:
\\\ implicit reference (called the object's prototype)

это все равно, что называть "квартирой" почтовый адрес или табличку с номером этой квартиры

на самом деле прототип некоего объекта А - это не "ссылка". это тоже объект.
и на него в объекте А есть ссылка, которую ваш источник называет "неявной" (implicit reference). но сама ссылка - это не прототип.

на мозилловской странице это правильно расписано. (ссылку они правда называют link, а не reference. но эти термины в этом контексте синонимичны.)

 enuser

link 23.08.2017 18:11 
интровверт, благодарю за столь развернутый ответ. Внесли ясность. Я когда начал изучать JavaScript всегда думал, что прототип это объект, который использует другие объекты, но глубоко не вникал в эту тему. Это были мои базовые знания. Решил вникнуть и сразу нарвался на корявую формулировку ...implicit reference (called the object's prototype)... :) Начал сомневаться в своих базовых знаниях о прототипах. Но сейчас, уже вроде разобрался, что к чему.

Итого, вердикт: Прототип это объект. :)

Кстати, в той спецификации дальше по тексту, становится понятно, что прототип это объект. В общем, буду дальше читать/изучать.

Всем спасибо за конструктивное участие.

 Local

link 23.08.2017 20:57 
Вот в этой фразе истина тоже очень глубоко завуалирована:
its constructor's "prototype" property

т к их взаиммотношения как раз наоборотные:
Object.prototype.constructor

 интровверт

link 23.08.2017 21:10 
там не это :)
они имеют в виду, что если некий объект создан как например var obj = new Blabla(), то можно смотреть Blabla.prototype и наслаждаться (термин constructor там использован по делу - как обозначение функции, которая была использована с оператором new для создания объекта и наполнения его барахлом)

 Local

link 23.08.2017 21:19 
Не врублюсь. Прототип - это проперти объекта, как ее извлечь из конструктора? Как это записать в смысле нотации: дайте протототип этого конструктора, то есть конкретной функции, которая была использована с оператором new?

 интровверт

link 23.08.2017 21:28 
var obj = new Date() // например!
obj.constructor; // === Date;
obj.constructor.prototype; // === Date.prototype;

 Local

link 24.08.2017 4:46 
Снос башки, головокружение! Непонятно зачем так можно. Мое понимание было: конструктор отработал и нет его, это эфир. Остался реальный объект, у которого по ссылке всегда будет сидеть его прототип.

 

You need to be logged in to post in the forum