ماذا يفعل الكلمة المفتاحية `new` في JavaScript؟ اشرح مع أمثلة.
```html
مرحباً بالجميع! لقد بدأت للتو في تعلم JavaScript ووجدت الكلمة المفتاحية `new`. بصراحة، أنا مرتبك. يبدو أنني أفهم أنها مرتبطة بإنشاء الكائنات، لكن كيفية عملها بالضبط ليست واضحة تماماً.
على سبيل المثال، أرى هذا الكود:
```javascript
function Person(name) {
this.name = name;
this.sayHello = function() {
console.log('مرحباً، اسمي ' + this.name);
};
}
const user = new Person('آنا');
user.sayHello(); // مرحباً، اسمي آنا
```
لكن إذا كتبت بدون `new`:
```javascript
const user = Person('آنا');
console.log(user); // undefined
```
لماذا يحدث هذا؟ ما الذي يفعله `new` بالداخل؟ سمعت أنه يربط `this` بطريقة ما، لكنني لا أفهم التفاصيل.
أيضاً، رأيت أنه في بعض الكتب المدرسية يكتبون دوال البناء بحرف كبير، لكن ليس دائماً. وما زلت سمعت عن `prototype` — هل هذا مرتبط بـ `new`؟
رجاءً، اشرحوا لي خطوة بخطوة، ماذا يحدث عندما نكتب `new SomeFunction()`. وهل هناك بدائل؟
```