[JS Deep Dive] 27μž₯ 정리 - 배열에 κ΄€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
배열은 μ—¬λŸ¬ 개의 값을 순차적으둜 λ‚˜μ—΄ν•œ 자료ꡬ쑰 μš”μ†Œ(element): 배열이 κ°€μ§€κ³  μžˆλŠ” κ°’μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λͺ¨λ“  값은 λ°°μ—΄μ˜ μš”μ†Œκ°€ 될 수 μžˆμŒλ°°μ—΄μ˜ μš”μ†ŒλŠ” λ°°μ—΄μ—μ„œ μžμ‹ μ˜ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 0 μ΄μƒμ˜ μ •μˆ˜μΈ 인덱슀λ₯Ό κ°–λŠ”λ‹€(0λΆ€ν„° μ‹œμž‘)배열은 μš”μ†Œμ˜ 개수, λ°°μ—΄μ˜ 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” length ν”„λ‘œνΌν‹°λ₯Ό κ°€μ§λ°°μ—΄μ΄λΌλŠ” νƒ€μž…μ€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©°, 배열은 객체 νƒ€μž…μ΄λ‹€.배열은 λ°°μ—΄ λ¦¬ν„°λŸ΄, Array μƒμ„±μž ν•¨μˆ˜, Array.of, Array.from λ©”μ„œλ“œλ‘œ 생성 κ°€λŠ₯λ°°μ—΄μ˜ μƒμ„±μž ν•¨μˆ˜λŠ” Array이며, λ°°μ—΄μ˜ ν”„λ‘œν† νƒ€μž… κ°μ²΄λŠ” Array.prototype이닀.일반 객체와 배열을 κ΅¬λΆ„ν•˜λŠ” κ°€μž₯ λͺ…ν™•ν•œ μ°¨μ΄λŠ” “κ°’μ˜ μˆœμ„œ”와 “length ν”„λ‘œνΌν‹°” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 배열은 μžλ£Œκ΅¬μ‘°μ—μ„œ λ§ν•˜λŠ” 일반적인 의미의 λ°°..
[JS Deep Dive] 20, 21μž₯ 정리 - strict mode, 빌트인 객체에 λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
Strict Modefunction foo() { x = 10;}foo();console.log(x); // ?μ „μ—­ μŠ€μ½”ν”„μ—λ„ x λ³€μˆ˜μ˜ 선언이 μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— ReferenceErrorλ₯Ό λ°œμƒμ‹œν‚¬ 것 κ°™μ§€λ§Œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ•”λ¬΅μ μœΌλ‘œ μ „μ—­ 객체에 x ν”„λ‘œνΌν‹°λ₯Ό 동적 생성→ μ „μ—­ 객체의 x ν”„λ‘œνΌν‹°λŠ” 마치 μ „μ—­ λ³€μˆ˜μ²˜λŸΌ μ‚¬μš© κ°€λŠ₯→ 암묡적 μ „μ—­(implicit global)이라고 함→ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚€λŠ” 원인이 될 κ°€λŠ₯성이 큼 ES5λΆ€ν„° strict mode(엄격 λͺ¨λ“œ)κ°€ μΆ”κ°€→ μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄μ˜ 문법을 μ’€ 더 μ—„κ²©νžˆ μ μš©ν•˜μ—¬ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚¬ κ°€λŠ₯성이 λ†’κ±°λ‚˜ μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„μ˜ μ΅œμ ν™” μž‘μ—…μ— 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆλŠ” μ½”λ“œμ— λŒ€ν•΄ λͺ…μ‹œμ μΈ μ—λŸ¬λ₯Ό λ°œμƒμ‹œν‚¨λ‹€.(ESLint 같은 린트 도ꡬλ₯Ό μ‚¬μš©ν•΄λ„ ..
[JS Deep Dive] 19μž₯ 정리 - ν”„λ‘œν† νƒ€μž…μ— λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λͺ…λ Ήν˜•, ν•¨μˆ˜ν˜•, ν”„λ‘œν† νƒ€μž… 기반 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ„ μ§€μ›ν•˜λŠ” λ©€ν‹° νŒ¨λŸ¬λ‹€μž„ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(클래슀 기반 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 언어보닀 효율적이며 더 κ°•λ ₯ν•œ 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° λŠ₯λ ₯을 μ§€λ‹ˆκ³  μžˆλŠ” ν”„λ‘œν† νƒ€μž… 기반의 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄) μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 객체 기반의 ν”„λ‘œκ·Έλž˜λ° 언어이며 μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό 이루고 μžˆλŠ” 거의 “λͺ¨λ“  것이” 객체객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ ν”„λ‘œκ·Έλž¨μ„ λͺ…λ Ήμ–΄ λ˜λŠ” ν•¨μˆ˜μ˜ λͺ©λ‘μœΌλ‘œ λ³΄λŠ” 전톡적인 λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž˜λ°μ˜ μ ˆμ°¨μ§€ν–₯적 κ΄€μ μ—μ„œ λ²—μ–΄λ‚˜ μ—¬λŸ¬ 개의 독립적 λ‹¨μœ„, 즉 객체의 μ§‘ν•©μœΌλ‘œ ν”„λ‘œκ·Έλž¨μ„ ν‘œν˜„ν•˜λ €λŠ” ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„ μΆ”상화: λ‹€μ–‘ν•œ 속성 μ€‘μ—μ„œ ν”„λ‘œκ·Έλž¨μ— ν•„μš”ν•œ μ†μ„±λ§Œ κ°„μΆ”λ € λ‚΄μ–΄ ν‘œν˜„ν•˜λŠ” 것객체 : 속성을 톡해 μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ κ΅¬μ„±ν•œ..
[JS Deep Dive] 17, 18μž₯ 정리 - μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성 | ν•¨μˆ˜μ™€ 일급 객체에 λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성 Object μƒμ„±μž ν•¨μˆ˜new μ—°μ‚°μžμ™€ ν•¨κ»˜ Object μƒμ„±μž ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ 빈 객체λ₯Ό μƒμ„±ν•˜μ—¬ λ°˜ν™˜→ 빈 객체λ₯Ό μƒμ„±ν•œ 이후 ν”„λ‘œνΌν‹° λ˜λŠ” λ©”μ„œλ“œλ₯Ό μΆ”κ°€ν•˜μ—¬ 객체λ₯Ό μ™„μ„±ν•  수 μžˆλ‹€.// 빈 객체의 생성const person = new Object();// ν”„λ‘œνΌν‹° μΆ”κ°€person.name = 'Lee';person.sayHello = function () { console.log('Hi! My name is ' + this.name);};console.log(person); // {name: "Lee", sayHello: f}person.sayHello(); // Hi! My name is Leeμƒμ„±μž ν•¨μˆ˜λž€ new μ—°μ‚°μžμ™€ ν•¨κ»˜ ν˜ΈμΆœν•˜μ—¬ 객체(μΈμŠ€ν„΄μŠ€)λ₯Ό μƒμ„±ν•˜λŠ” 함..
[JS Deep Dive] 15,16μž₯ 정리 - let, const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„ | ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈμ— λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ˜ 문제점var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜μ˜ νŠΉμ§•1. λ³€μˆ˜ 쀑볡 μ„ μ–Έ ν—ˆμš©2. ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ˜€λ‘œμ§€ ν•¨μˆ˜μ˜ μ½”λ“œ λΈ”λ‘λ§Œμ„ μ§€μ—­ μŠ€μ½”ν”„λ‘œ 인정→ ν•¨μˆ˜ μ™ΈλΆ€μ—μ„œ var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ½”λ“œ 블둝 λ‚΄μ—μ„œ 선언해도 λͺ¨λ‘ μ „μ—­ λ³€μˆ˜κ°€ λœλ‹€.ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„λŠ” μ „μ—­ λ³€μˆ˜λ₯Ό λ‚¨λ°œν•  κ°€λŠ₯성을 높인닀. 3. λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…μ— μ˜ν•΄ var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” λ³€μˆ˜ μ„ μ–Έλ¬Έ 이전에 μ°Έμ‘°ν•  수 μžˆλ‹€.→ ν• λ‹Ήλ¬Έ 이전에 λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜λ©΄ μ–Έμ œλ‚˜ undefinedλ₯Ό λ°˜ν™˜ let ν‚€μ›Œλ“œ1. λ³€μˆ˜ 쀑볡 μ„ μ–Έ κΈˆμ§€2. 블둝 레벨 μŠ€μ½”ν”„let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” λͺ¨λ“  μ½”λ“œ 블둝(ν•¨μˆ˜, ifλ¬Έ, forλ¬Έ, whileλ¬Έ, try/catch λ¬Έ λ“±)을 μ§€μ—­ μŠ€μ½”ν”„λ‘œ 인..
[JS Deep Dive] 13,14μž₯ 정리 - μŠ€μ½”ν”„ | μ „μ—­ λ³€μˆ˜μ˜ λ¬Έμ œμ μ— λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
μŠ€μ½”ν”„μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μŠ€μ½”ν”„λŠ” λ‹€λ₯Έ μ–Έμ–΄μ˜ μŠ€μ½”ν”„μ™€ κ΅¬λ³„λ˜λŠ” νŠΉμ§•μ΄ μžˆμœΌλ―€λ‘œ μ£Όμ˜κ°€ ν•„μš”ν•˜λ‹€. λͺ¨λ“  μ‹λ³„μž(λ³€μˆ˜ 이름, ν•¨μˆ˜ 이름, 클래슀 이름 λ“±)λŠ” μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ— μ˜ν•΄ λ‹€λ₯Έ μ½”λ“œκ°€ μ‹λ³„μž μžμ‹ μ„ μ°Έμ‘°ν•  수 μžˆλŠ” 유효 λ²”μœ„κ°€ κ²°μ •λœλ‹€. 이λ₯Ό μŠ€μ½”ν”„λΌ ν•œλ‹€.→ μŠ€μ½”ν”„λŠ” μ‹λ³„μžκ°€ μœ νš¨ν•œ λ²”μœ„λ₯Ό λ§ν•œλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 이름이 같은 두 개의 λ³€μˆ˜ μ€‘μ—μ„œ μ–΄λ–€ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•΄μ•Ό ν•  것인지λ₯Ό κ²°μ •ν•΄μ•Ό ν•œλ‹€.→ μ‹λ³„μž κ²°μ • μŠ€μ½”ν”„λž€ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 μ‹λ³„μžλ₯Ό 검색할 λ•Œ μ‚¬μš©ν•˜λŠ” κ·œμΉ™μ΄λΌκ³ λ„ ν•  수 μžˆλ‹€. μŠ€μ½”ν”„μ˜ μ’…λ₯˜μ½”λ“œλŠ” μ „μ—­κ³Ό μ§€μ—­μœΌλ‘œ ꡬ뢄 κ°€λŠ₯ μ „μ—­κ³Ό μ „μ—­ μŠ€μ½”ν”„μ „μ—­μ΄λž€ μ½”λ“œμ˜ κ°€μž₯ λ°”κΉ₯ μ˜μ—­μ„ λ§ν•œλ‹€.전역은 μ „μ—­ μŠ€μ½”ν”„λ₯Ό 생성전역에 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄ μ „μ—­ μŠ€μ½”ν”„λ₯Ό κ°–λŠ” μ „μ—­ λ³€μˆ˜κ°€ 됨전역 λ³€μˆ˜λŠ” μ–΄..
[JS Deep Dive] 12μž₯ 정리 -ν•¨μˆ˜μ— λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν•¨μˆ˜λŠ” 일련의 과정을 문으둜 κ΅¬ν˜„ν•˜κ³  μ½”λ“œ λΈ”λ‘μœΌλ‘œ κ°μ‹Έμ„œ ν•˜λ‚˜μ˜ μ‹€ν–‰ λ‹¨μœ„λ‘œ μ •μ˜ν•œ 것 ν•¨μˆ˜ λ‚΄λΆ€λ‘œ μž…λ ₯을 μ „λ‹¬λ°›λŠ” λ³€μˆ˜λ₯Ό λ§€κ°œλ³€μˆ˜(parameter), μž…λ ₯을 인수(argument), 좜λ ₯을 λ°˜ν™˜κ°’(return value)이라 ν•œλ‹€.ν•¨μˆ˜λŠ” ν•¨μˆ˜ μ •μ˜λ₯Ό 톡해 생성 μΈμˆ˜λ₯Ό λ§€κ°œλ³€μˆ˜λ₯Ό 톡해 ν•¨μˆ˜μ— μ „λ‹¬ν•˜λ©΄μ„œ ν•¨μˆ˜μ˜ 싀행을 λͺ…μ‹œμ μœΌλ‘œ μ§€μ‹œν•΄μ•Ό 함 → ν•¨μˆ˜ 호좜 ν•¨μˆ˜ λ¦¬ν„°λŸ΄μ€ function ν‚€μ›Œλ“œ, ν•¨μˆ˜ 이름, 맀개 λ³€μˆ˜ λͺ©λ‘, ν•¨μˆ˜ λͺΈμ²΄λ‘œ κ΅¬μ„±ν•¨μˆ˜λŠ” 객체이닀. μΌλ°˜ κ°μ²΄λŠ” ν˜ΈμΆœν•  수 μ—†μ§€λ§Œ ν•¨μˆ˜λŠ” ν˜ΈμΆœν•  수 μžˆλ‹€.ν•¨μˆ˜ μ •μ˜ 방식// ν•¨μˆ˜ μ„ μ–Έλ¬Έfunction add(x,y) { return x + y;}// ν•¨μˆ˜ ν‘œν˜„μ‹var add = function (x, y) { return x + ..
[JS Deep Dive] 10μž₯, 11μž₯ 정리 - 객체 λ¦¬ν„°λŸ΄ | μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ에 λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
객체 λ¦¬ν„°λŸ΄μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 객체 기반의 ν”„λ‘œκ·Έλž˜λ° 언어이며, μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” 거의 “λͺ¨λ“  것”이 객체닀. μ›μ‹œ 값을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 값은(ν•¨μˆ˜, λ°°μ—΄, μ •κ·œ ν‘œν˜„μ‹) 등은 λͺ¨λ‘ κ°μ²΄μ›μ‹œ νƒ€μž…μ˜ κ°’, 즉 μ›μ‹œ 값은 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’μ΄μ§€λ§Œ 객체 νƒ€μž…μ˜ κ°’, κ°μ²΄λŠ” λ³€κ²½ κ°€λŠ₯ν•œ 값이닀. κ°μ²΄λŠ” 0개 μ΄μƒμ˜ ν”„λ‘œνΌν‹°λ‘œ κ΅¬μ„±λœ 집합이며, ν”„λ‘œνΌν‹°λŠ” 킀와 κ°’μœΌλ‘œ κ΅¬μ„±λœλ‹€.  μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λͺ¨λ“  값은 ν”„λ‘œνΌν‹° 값이 될 수 μžˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν•¨μˆ˜λŠ” 일급 κ°μ²΄μ΄λ―€λ‘œ κ°’μœΌλ‘œ μ·¨κΈ‰ν•  수 μžˆλ‹€ν•¨μˆ˜λ„ ν”„λ‘œνΌν‹° κ°’μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€. ν”„λ‘œνΌν‹° 값이 ν•¨μˆ˜μΌ 경우, 일반 ν•¨μˆ˜μ™€ κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ λ©”μ„œλ“œλΌκ³  λΆ€λ₯Έλ‹€. κ°μ²΄λŠ” ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œλ‘œ κ΅¬μ„±λœ 집합체 ν”„λ‘œνΌν‹°: 객체의 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°’(data)λ©”μ„œλ“œ:..
[JS Deep Dive] 9μž₯ 정리 - νƒ€μž… λ³€ν™˜κ³Ό 단좕 평가에 λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜(νƒ€μž… μΊμŠ€νŒ…): κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ κ°’μ˜ νƒ€μž…μ„ λ³€ν™˜ν•˜λŠ” 것암묡적 νƒ€μž… λ³€ν™˜(νƒ€μž… κ°•μ œ λ³€ν™˜): 개발자의 μ˜λ„μ™€λŠ” 상관없이 ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜λŠ” 도쀑에 μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ μ•”λ¬΅μ μœΌλ‘œ νƒ€μž…μ΄ μžλ™ λ³€ν™˜ λ˜λŠ” 것 μ›μ‹œ 값은 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’μ΄λ―€λ‘œ λ³€κ²½ν•  수 μ—†μŒ→ νƒ€μž… λ³€ν™˜μ΄λž€ κΈ°μ‘΄ μ›μ‹œ 값을 μ‚¬μš©ν•΄ λ‹€λ₯Έ νƒ€μž…μ˜ μƒˆλ‘œμš΄ μ›μ‹œ 값을 μƒμ„±ν•˜λŠ” 것 μ•”묡적 νƒ€μž… λ³€ν™˜μ€ κΈ°μ‘΄ λ³€μˆ˜ 값을 μž¬ν• λ‹Ήν•˜μ—¬ λ³€κ²½ν•˜λŠ” 것이 μ•„λ‹˜→ ν”Όμ—°μ‚°μžμ˜ 값을 암묡적 νƒ€μž… λ³€ν™˜ν•΄ μƒˆλ‘œμš΄ νƒ€μž…μ˜ 값을 λ§Œλ“€μ–΄ 단 ν•œ 번 μ‚¬μš©ν•˜κ³  버림 λ‘˜ 쀑에 뭐λ₯Ό 더 많이 μ¨μ•Όλ˜λŠ” 것이 μ€‘μš”ν•œ 것이 μ•„λ‹Œ, μ½”λ“œλ₯Ό μ˜ˆμΈ‘ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€λŠ” 것이 μ€‘μš”μ•”λ¬΅μ  νƒ€μž… λ³€ν™˜ λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ³€ν™˜(+)λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μžμ˜ λͺ¨λ“  ν”Όμ—°μ‚°μžλŠ” μ½”λ“œμ˜ λ¬Έλ§₯상 λͺ¨..
[JS Deep Dive] 6,7,8μž₯ 정리 - 데이터 νƒ€μž…, μ—°μ‚°μž, μ œμ–΄λ¬Έμ— λŒ€ν•˜μ—¬
Β·
Study/Modern JS Deep Dive
6μž₯ - 데이터 νƒ€μž…λ°μ΄ν„° νƒ€μž…μ€ κ°’μ˜ μ’…λ₯˜λ₯Ό λ§ν•œλ‹€.μžλ°”μŠ€ν¬λ¦½νŠΈ(ES6)λŠ” 7개의 데이터 νƒ€μž…μ„ 제곡 μ›μ‹œ νƒ€μž…μˆ«μž νƒ€μž…(number) → 숫자, μ •μˆ˜μ™€ μ‹€μˆ˜ ꡬ뢄 없이 ν•˜λ‚˜μ˜ 숫자 νƒ€μž…λ§Œ μ‘΄μž¬λ¬Έμžμ—΄ νƒ€μž…(string) → λ¬Έμžμ—΄λΆˆλ¦¬μ–Έ νƒ€μž…(boolean) → 논리적 μ°Έκ³Ό κ±°μ§“undefined νƒ€μž… → var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜μ— μ•”λ¬΅μ μœΌλ‘œ ν• λ‹Ήλ˜λŠ” κ°’null νƒ€μž… → 값이 μ—†λ‹€λŠ” 것을 μ˜λ„μ μœΌλ‘œ λͺ…μ‹œν•  λ•Œ μ‚¬μš©ν•˜λŠ” κ°’μ‹¬λ²Œ νƒ€μž…(symbol) → ES6μ—μ„œ μΆ”κ°€λœ 7번째 νƒ€μž… κ°μ²΄ νƒ€μž…κ°μ²΄, ν•¨μˆ˜, λ°°μ—΄ λ“±μˆ«μž νƒ€μž…μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λ…νŠΉν•˜κ²Œ ν•˜λ‚˜μ˜ 숫자 νƒ€μž…λ§Œ μ‘΄μž¬ν•œλ‹€. ECMAScript 사양에 λ”°λ₯΄λ©΄ 숫자 νƒ€μž…μ˜ 값은 배정밀도 64λΉ„νŠΈ λΆ€λ™μ†Œμˆ˜μ  ν˜•μ‹μ„ 따름→ λͺ¨λ“  수λ₯Ό μ‹€μˆ˜λ‘œ 처리, μ •μˆ˜λ§Œ ν‘œν˜„ν•˜κΈ°..