Help differentiating between constructors and objects and functions

DanCouper, I really appreciate this response. I think your last question gets to the heart of my question.

Going forward, I would like to know how to access the reference to the prototype of the function from which an object was made. From reading online, someone said there are other new ways, but did not elaborate. Is this possible?

I was learning this myself in depth recently to explain this to other people. I started with a diagram from Ken Lim’s blog

It shows the relationships visually that you have been asking about, without showing every place that has those properties. For example, foo is an instance of the Foo() class, but the property constructor isn’t drawn on foo in this diagram. It is there, though. I created a pen to explore these three properties and reveal the prototype chain and how it terminates for myself. WARNING! That pen was literally a scratchpad for my exploration. It’s not very organized, but if you are as confused as I was, it may be useful after reading what I write below:

JAVASCRIPT OBJECT/FUNCTION properties:
I wrote the following three “plain-language” definitions" for the prototype, constructor, and __proto__ properties. After reading the whole definitions the first time, when I want to understand inheritance specifics in JS, I replace the pattern at left with the words at right only up to the ellipsis (…).

SomeFunction.prototype = "If used as a constructor, I will produce... (an object that is a copy of the referenced object)."
someInstance.constructor = "The function that made me when used as an operand for `new` is ... (the referenced function)."
someInstance.__proto__ = "When produced by my constructor, I was modelled off of ... (the referenced object)."

I was thinking about writing up a Medium article and maybe coding up a little something to help people learn this material, which is confusing to those without CS background and even to those with some formal CS, like me. Hope it helps. Feel free to ask more questions, it can only improve my own understanding to try to help you.

UPDATE: Forgot to answer your last question, which is why I wrote this:

Going forward, I would like to know how to access the reference to the prototype of the function from which an object was made. From reading online, someone said there are other new ways, but did not elaborate. Is this possible?

someInstance.constructor.prototype

Thank you so much, vipatron!

I believe this is exactly what I was looking for. The image you uploaded showing the structure of the prototype chaining is extremely helpful, as well as

I believe you absolutely should write your own article. It will be there for others, and you will help yourself by reinforcing the subject. I am so happy to have community to help each other along the way! We’re really in this together!