Skip to content

Commit fe07030

Browse files
authored
Update article.md from reference-type: change line numbers
1 parent f380810 commit fe07030

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

1-js/99-js-misc/04-reference-type/article.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Reference Type
32

43
```warn header="ویژگی یک زبان عمیق"
@@ -18,9 +17,9 @@ let user = {
1817
bye() { alert("Bye"); }
1918
};
2019

21-
user.hi(); // کار میکند!
20+
user.hi(); // works
2221

23-
// now let's call user.hi or user.bye depending on the name
22+
// اجرا شود user.by و درغیراینصورت user.hi بود متد john حال بررسی میکنیم اگر نام برابر
2423
*!*
2524
(user.name == "John" ? user.hi : user.bye)(); // Error!
2625
*/!*
@@ -34,9 +33,10 @@ user.hi(); // کار میکند!
3433
```js
3534
user.hi();
3635
```
37-
اما این کد اصلا! (فانکشن بدون پرانتز)
36+
37+
اما این کد اصلا کار نمیکند! (فانکشن بدون پرانتز)
3838
```js
39-
(user.name == "John" ? user.hi : user.bye)(); // خطا!
39+
(user.name == "John" ? user.hi : user.bye)(); // Error!
4040
```
4141

4242
چرا؟ اگر متوجه شدید که تا اینجا چه اتفاقی افتاده, بیایید به عملکرد `()obj.method` بپردازیم.
@@ -72,6 +72,7 @@ hi(); // است undefiend برابر با this خطا! چون مقدار
7272
ریفرنس تایپ ها یا نوع ارجاعی "نوع خاصی از داده ها یا specification type" هستند. ما نمیتوانیم به صورت مستقیم از آن استفاده کنیم ولی به صورت داخلی داخل زبان تعبیه شده و استفاده میشود.
7373

7474
این نوع داده خاص شامل سه مقدار `(base, name, strict)` هست که:
75+
7576
- `base` یک آبجکت است
7677
- `name` نام ویژگی آبجکت هست
7778
- اگر `use strict` تعبیه شده باشد مقدار `strict` نیز true است.
@@ -82,6 +83,7 @@ hi(); // است undefiend برابر با this خطا! چون مقدار
8283
// مقدار Reference Type
8384
(user, "hi", true)
8485
```
86+
8587
وقتی که پرانتزی در Reference type ها صدا زده میشود, همه اطلاعات مربوط به اشیاء و متد فعلی را دریافت میکند و به درستی کلمه کلیدی `this` را مقداردهی میکند.
8688

8789
نوع Reference type یک نوع داده داخلی "واسط" با هدف انتقال اطلاعات مربوطه از عملگر نقطه `.` به پرانتز است.

0 commit comments

Comments
 (0)