Skip to content

Commit 585938f

Browse files
committed
Add summary of JavaScript data types
1 parent 387a1fc commit 585938f

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

1-js/02-first-steps/05-types/article.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,4 +270,27 @@ typeof alert // "function" (3)
270270
โดยปกติวงเล็บแบบนี้จะใช้ครอบนิพจน์ทางคณิตศาสตร์ เช่น `(2 + 2)` แต่ในที่นี้มีเพียงอาร์กิวเมนต์เดียวคือ `(x)` ในแง่ของไวยากรณ์ มันช่วยให้ไม่ต้องเว้นวรรคระหว่าง operator `typeof` กับอาร์กิวเมนต์ และบางคนชอบใช้แบบนี้
271271

272272
อย่างไรก็ตาม ไวยากรณ์ `typeof x` ยังคงเป็นที่นิยมใช้กันมากกว่า `typeof(x)` แม้ว่าบางคนจะชอบใช้รูปแบบหลังก็ตาม
273-
```
273+
```
274+
275+
## สรุป
276+
277+
ใน JavaScript มีชนิดข้อมูลพื้นฐาน 8 ชนิด ได้แก่
278+
279+
- ชนิดข้อมูล primitive 7 ชนิด:
280+
- `number` สำหรับตัวเลขทุกประเภท ทั้งจำนวนเต็มและทศนิยม โดยจำนวนเต็มจะมีขอบเขตอยู่ที่ <code>±(2<sup>53</sup>-1)</code>
281+
- `bigint` สำหรับจำนวนเต็มที่มีความยาวเท่าใดก็ได้
282+
- `string` สำหรับข้อความ โดยข้อความอาจมีตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป และไม่มีชนิดข้อมูลแยกต่างหากสำหรับตัวอักษรเพียงหนึ่งตัว
283+
- `boolean` สำหรับค่า `true` หรือ `false`
284+
- `null` สำหรับค่าที่ไม่ทราบ เป็นชนิดข้อมูลแยกต่างหากที่มีค่าเพียงค่าเดียวคือ `null`
285+
- `undefined` สำหรับค่าที่ยังไม่ได้กำหนด เป็นชนิดข้อมูลแยกต่างหากที่มีค่าเพียงค่าเดียวคือ `undefined`
286+
- `symbol` สำหรับการสร้างตัวระบุที่ไม่ซ้ำกัน
287+
- และชนิดข้อมูลที่ไม่ใช่ primitive 1 ชนิด:
288+
- `object` สำหรับโครงสร้างข้อมูลที่มีความซับซ้อนมากขึ้น
289+
290+
`typeof` operator ช่วยให้เราสามารถตรวจสอบชนิดข้อมูลที่ถูกเก็บอยู่ในตัวแปรได้
291+
292+
- โดยทั่วไปใช้ในรูปแบบ `typeof x` แต่ `typeof(x)` ก็สามารถใช้ได้เช่นกัน
293+
- คืนค่าเป็น string ที่ระบุชื่อชนิดข้อมูล เช่น `"string"`
294+
- สำหรับ `null` จะคืนค่าเป็น `"object"` ซึ่งถือเป็นข้อผิดพลาดในภาษา เพราะจริง ๆ แล้ว `null` ไม่ใช่ object
295+
296+
ในบทต่อ ๆ ไป เราจะมุ่งเน้นไปที่ค่า primitive และเมื่อเราคุ้นเคยกับมันแล้ว เราจะเริ่มศึกษาเกี่ยวกับ object ต่อไป

0 commit comments

Comments
 (0)