| 
		
			 Цитата: 
		
	 | 
	| 
		Тогда твой вариант не подходит.
	 | 
	
Вообще не стоит пытаться проециривовать один язык на другой. Языки разные и задачи решаются по-разному, аналога ты не напишешь.
	
	| 
		
			 Цитата: 
		
	 | 
	
		То есть в случае передачи parent.prototype свойства будут перебираться в прототипе функции-конструктора, а в случае передачи parent непосредственно в объекте функции-конструктора. 
Ответить с цитированием
	 | 
	
Свойства будут перебираться в том объекте, ссылка на который передана.
Тут важно отличать свойства [[Prototype]] и prototype. Свойство [[Prototype]] скрытое, есть у любой переменной (в том числе у примитивов) и определяет, в каком объекте будет искаться свойство, если не найдено в текущем. Доступ к нему можно получить либо с помощью геттера __proto__ (устаревший вариант), либо с помощью Object.getPrototypeOf. Свойство prototype есть у функций, оно ссылается на объект, ссылка на который будет записана в свойство [[Prototype]] объекта, сконструированного этой функцией.