in the past, I wonder why should we need to use the 'new' . for example , if we want to get a object , we can return a object in the function like this

as we can see, all the 'new' can do that we can do without the 'new', so at the begin I think maybe the only effect of 'new' is to allow us take out the 'return' like this

but if we think about from the memory , we can find out the real effect and value of the 'new'.
image that now we have 100 name, without the 'new', every one of these has the same function getName, it will cause the large waste of the memory . fortunately , if we use the 'new', then we have the 'prototype' property can be used by us. now, see the example following .

now whatever the amount of the name we have, all of these just have the property 'name', so it can vastly reduce the use of the memory. now, we can draw a conclusion :
in the most cases, the construction function should only have the properties but not the functions.