๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปStudy/JavaScript

(5)
๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ / ์—ฐ์‚ฐ์ž * ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ ํƒ€์ž…(์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ๋ฆฐ๊ฐ’)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ๋ณธ ํƒ€์ž…์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ์—๋Š”, ๋ฉ”์†Œ๋“œ ์ฒ˜๋ฆฌ ์ˆœ๊ฐ„์— ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ ํ›„ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋Œ์•„์˜จ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋ณธ ํƒ€์ž…์€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹˜์—๋„ ๊ฐ ํƒ€์ž…๋ณ„๋กœ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋“ค์„ ๋งˆ์น˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. var num = 0.5; console.log(num.toExponential(1)); // 5.0e-1 console.log("stringtest".charAt(0)); // s * ์—ฐ์‚ฐ์ž 1. + ์—ฐ์‚ฐ์ž ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ, ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ ๋‘ ๊ฐ€์ง€ ์ˆ˜ํ–‰์„ ํ•œ๋‹ค. ์ˆซ์ž+์ˆซ์ž์ผ ๊ฒฝ์šฐ ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ, ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ์—..
๋ฐฐ์—ด ๋ฐฐ์—ด์€ ๊ฐ์ฒด์˜ ํ•œ ์ข…๋ฅ˜๋กœ์„œ, C๋‚˜ ์ž๋ฐ”์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ž์œ ๋กญ๋‹ค. * ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์„ ํ†ตํ•œ ๋ฐฐ์—ด ์ƒ์„ฑ var Arr = ['a', 'b', 'c', 1, true]; console.log(Arr[0]); // a console.log(Arr[7]); // undefined console.log(Arr.length); //5 console.log(Arr); ๋ฌธ์ž์—ด, ๋„˜๋ฒ„, boolean ๊ฐ’์ด ์ „๋ถ€ ์žˆ๋Š” ๋ฐฐ์—ด์„ ๋Œ€๊ด„ํ˜ธ([])๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์˜€๋‹ค. ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ •์˜๋˜์ง€ ์•Š์€ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋ฉด undefined์ด ์ถœ๋ ฅ๋œ๋‹ค. ๊ฐ์ฒด์—์„œ ํฌํ•จํ•˜์ง€ ์•Š์€ ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ undefined๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ƒํ™ฉ์ธ๋ฐ, ๋ฐฐ์—ด ์—ญ์‹œ ..
ํ”„๋กœํ† ํƒ€์ž… ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , ์ด๊ฒƒ์„ ํ”„๋กœํ† ํƒ€์ž… ๊ฐ์ฒด ๋˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ž์‹ ์˜ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (์ƒ์†์˜ ๊ฐœ๋…๊ณผ ์œ ์‚ฌํ•จ) var obj = { name : 'hello', age : 30 } console.log(obj.toString()); console.dir(obj); obj ๊ฐ์ฒด์— toString() ์ด๋ผ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์—†์ง€๋งŒ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š”, obj ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž…์— toString()์ด ์ด๋ฏธ ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. console.dir(obj)์˜ ์ถœ๋ ฅ๋ฌผ์„ ๋ณด๋ฉด _proto_ ์•ˆ์— toString์ด ์ •์˜๋˜์–ด ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ์™ธ์—๋„ valueOf ๋“ฑ ๊ธฐ๋ณธ ๋‚ด์žฅ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€..
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… 1. ๊ธฐ๋ณธ ํƒ€์ž… 1) ์ˆซ์ž (Number) 2) ๋ฌธ์ž์—ด (String) 3) ๋ถˆ๋ฆฐ๊ฐ’ (Boolean) 4) undefined 5) null 2. ์ฐธ์กฐ ํƒ€์ž… 1) ๊ฐ์ฒด (1) ๋ฐฐ์—ด (Array) (2) ํ•จ์ˆ˜ (Function) (3) ์ •๊ทœํ‘œํ˜„์‹ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋А์Šจํ•œ ํƒ€์ž… ์ฒดํฌ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— int, char ๋“ฑ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋Š” ์—„๊ฒฉํ•œ ํƒ€์ž… ์ฒดํฌ ์–ธ์–ด์™€๋Š” ๋‹ค๋ฅด๋‹ค. var๋ผ๋Š” ํ‚ค์›Œ๋“œ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ , ์—ฌ๊ธฐ์— ์–ด๋–ค ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ผ๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์•„๋ฌด ๊ฒƒ๋„ ๋Œ€์ž…ํ•˜์ง€ ์•Š์œผ๋ฉด undefined ํƒ€์ž…์ด๋‹ค. 1. ๊ธฐ๋ณธ ํƒ€์ž… 1) ์ˆซ์ž (Number) - ๋ชจ๋“  ์ˆซ์ž๋ฅผ 64๋น„ํŠธ ๋ถ€๋™ ์†Œ์ˆ˜์  ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๊ณ , ์ด๋Š” C์–ธ์–ด์˜ double ํƒ€์ž…๊ณผ ์œ ์‚ฌํ•˜๋‹ค. 2) ๋ฌธ์ž์—ด (String) - ..
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ์š”์™€ ํ•ต์‹ฌ ๊ฐœ๋… * ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ์š”์™€ ์†Œ๊ฐœ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ดˆ์ฐฝ๊ธฐ์—๋Š” ์›น ํŽ˜์ด์ง€ ์ œ์ž‘์—์„œ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›น์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ, ์„œ๋ฒ„์—์„œ ๋‹ด๋‹นํ•˜๋˜ ์—ญํ• ๋“ค์„ ์ƒ๋‹น ๋ถ€๋ถ„ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ด๋‹นํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ  ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ค‘์š”์„ฑ์ด ์ปค์ง€๊ณ  ์žˆ๋‹ค. ํŠนํžˆ Node.js์˜ ๋“ฑ์žฅ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ด ํ™œ๋ฐœํ•ด์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ˜„์žฌ ์„ธ๊ณ„์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜์—ˆ๋‹ค. ํŠนํžˆ ์›น ๊ฐœ๋ฐœ์ž๋“ค์€ jQuery๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ๋”์šฑ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. => ๊ธฐ์กด์— ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์–ธ์–ด๋กœ ์‚ฌ์šฉ๋˜๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์—๋„ ์ด์šฉ๋จ์œผ๋กœ์จ ๊ทธ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ์ปค์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝ..