Is it possible to restrict the extensibility for methods only?
As preventExtension() prevents addition of property as well as methods( because methods are also property).
What is the solution to prevent further addition of methods only ( and allow addition of non method property)?
Object.preventExtensions(obj);
No. The language does not distinguish between methods and data properties.
You can always prevent extensions, but before doing that define setters and getters for certain properties that allow setting to values that are not callable.