Except of its example code, the first introduced case/pattern got everything wrong, ...
1) the header which does brand the first object creation pattern as “Prototypal Inheritance (Functional)”,
2) making the connection to prototypal inheritance and mentioning constructors a lot when the discussed example code at its core is the most simple factory function (does not even create closures, hence encapsulates data and manages its access) one could think of, thus, neither prototypes nor inheritance nor constructor functions (hence instantiation) are involved,
3) being confused about or obsessed with the term functional like in ... "In JavaScript, one of the most fundamental ways to implement prototypal inheritance is through functional programming." ... and in ... "Functional prototypal inheritance involves creating a function that acts as a blueprint for creating objects. These functions serve as constructors, producing instances that inherit properties from a shared prototype object ..." . Within the context of the discussed factory-function example-code, especially the last quote got every word wrong, though it still could be a useful explanation for constructor-function based prototypal inheritance if there was not this word "Functional". And the "functional programming" (FP) of the quote before is entirely misplaced. FP concepts go far beyond the simple usage of a function.
Conclusions.
The author should rework the explanation of the first object creation pattern entirely. The presented pattern is the most basic factory function, which implements glue code, that, with each invocation, creates an returns an object. A newly provided, correct explanation should not make use of any of the following words … “functional”, “constructor”, “instance”, “prototype/prototypal”, “inherit/inheritance”.
In addition, since the authors post got titled “Object-Oriented Programming(OOP) in JS”, one has to mention that the concept of OO is all about abstraction (which relates to object creation), encapsulation (of data), messaging/feedback (hence methods), persistence, polymorphy and inheritance (or code-reuse in a wider sense, not even necessarily based on inheritance). Thus, unless the author wants to cover all of that, the title might be changed to “The 3 most used object creation patterns in JavaScript”, since there still is the direct literal notation (even with get/set) as well as Object.create. One also could mention Reflect.defineProperty / Object.defineProperty / Object.defineProperties. Of cause, literals, get/set, defineProperty/ies and Object.create are all a good fit for being part of a factory function’s glue code implementation.