๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (230) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [๋ชจ๋ฅ๋ค] 28์ฅ Number ๐ฆ 28.1 Number ์์ฑ์ ํจ์ Number ๋ ์์ฑ์ ํจ์๋ผ์ new ์ฐ์ฐ์์ ํจ๊ป ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ค. new Number() ๋ฌธ์์ด๋ก ๋ฐํ (77.1234).toExponential(); //"7.71234e+1" ์ ์๋ฅผ ๊ทธ๋ฅ ์ฐ๋ฉด ์๋จ. (์๋ฏธ๊ฐ ๋ชจํธํ๊ธฐ ๋๋ฌธ. JS ๋ ์ซ์ ๋ค์ . ๋ฅผ ์์์ ์ผ๋ก ํด์ํ๋ค. () ๋ฅผ ํจ๊ป ์ฐ๋ ๊ฒ์ ์ถ์ฒํจ. 28.3.5 Number.prototype.toFixed(์ํ๋ ์์์ ์๋ฆฟ์) ์ซ์๋ฅผ ๋ฐ์ฌ๋ฆผ -> ๋ฌธ์์ด๋ก ๋ฐํ [๋ชจ๋ฅ๋ค] 27์ฅ ๋ฐฐ์ด โณ 27.1 ๋ฐฐ์ด์ด๋? ์ฌ๋ฌ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ๋์ดํ ์๋ฃ๊ตฌ์กฐ. ์์: ๋ฐฐ์ด์ด ๊ฐ๊ณ ์๋ ๊ฐ ์ธ๋ฑ์ค: ์์์ ์์ 0๋ถํฐ ์์ length : ๋ฐฐ์ด์ ๊ธธ์ด JS ์ ๋ฐฐ์ด์ดํ ํ์ ์ ์กด์ฌํ์ง ์์. ๋ฐฐ์ด์ ๊ฐ์ฒด ํ์ ์. ๊ฐ์ฒด์ ๋ฐฐ์ด์ ์ฐจ์ด โณ 27.2 ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ ๋ฐฐ์ด์ด ์๋๋ค ๐๏ธโ๏ธ ์ผ๋ฐ์ ์ธ ์๋ฃ๊ตฌ์กฐ์์์ ๋ฐฐ์ด๊ณผ๋ ์๋ฏธ๊ฐ ๋ค๋ฅธ JS ์์์ ๋ฐฐ์ด - ๋ฐฐ์ด์ ์์๋ฅผ ์ํ ๊ฐ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋์ผํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์์๋ ๋จ. - ํฌ์ ๋ฐฐ์ด : ๋ฐฐ์ด์ ์์๊ฐ ์ฐ์์ผ๋ก ์ด์ด์ ธ ์์ง ์์ ( ๋ฐ์ง ๋ฐฐ์ด) - ๋ฐฐ์ด์ ๋์์ ํ๋ด ๋ธ ํน์ํ ๊ฐ์ฒด์. ๐๏ธโ๏ธ ์ผ๋ฐ ๋ฐฐ์ด vs ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ์ฅ๋จ์ ์ ๋ฆฌ ์ผ๋ฐ ๋ฐฐ์ด JS ๋ฐฐ์ด - ์ธ๋ฑ์ค๋ก ์์์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋ค. - ํ์ง๋ง ์์๋ฅผ ์ฝ์ , ์ญ์ ํ๋ ๊ฒฝ์ฐ.. [๋ชจ๋ฅ๋ค] 26์ฅ ES6 ํจ์์ ์ถ๊ฐ ๊ธฐ๋ฅ ๐ฅ 26.1 ํจ์์ ๊ตฌ๋ถ ES6 ์ด์ ์ ํจ์ - ํจ์๋ ๋ณ๋ค๋ฅธ ๊ตฌ๋ถ ์์ด ๋ค์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋จ. - ํธ๋ฆฌํด๋ณด์ด์ง๋ง ์ค์ ์ ๋ฐ & ์ฑ๋ฅ ๋ฉด์์ ์ํด - ์ผ๋ฐ ํจ์๋ก์ ํธ์ถํ ์ ์๋ ๊ฒ์ ๋ฌผ๋ก ์์ฑ์ ํจ์๋ก์ ํธ์ถํ ์ ์์์. - ๊ฐ์ฒด์ ๋ฐ์ธ๋ฉ ๋ ํจ์๋ ์ผ๋ฐ ํจ์ & ์์ฑ์ ํจ์๋ก์ ๋ชจ๋ ํธ์ถ ๊ฐ๋ฅํ์. ES6 ์ดํ์ ํจ์ ๐ฅ 26.2 ๋ฉ์๋ ์ ํํ ์ ์๊ฐ ์๊น. ๐ฏ ๋ฉ์๋ - ๋ฉ์๋ ์ถ์ฝ ํํ์ผ๋ก ์ ์๋ ํจ์๋ง์ ์๋ฏธ. - ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ non-constructor -> ์์ฑ์ ํจ์๋ก์ ํธ์ถํ ์ ์๋ค. - prototype ํ๋กํผํฐ๊ฐ ์๊ณ ํ๋กํผํฐ๋ ์์ฑํ์ง ์๋๋ค. - ์์ ์ ๋ฐ์ธ๋ฉํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ด๋ถ ์ฌ๋กฏ [[HomeObject]] ๋ฅผ ๊ฐ๋๋ค -> super ํค์๋๋ฅผ ์ฌ์ฉํ ์.. [ํ๋ก๊ทธ๋๋จธ์ค/Javascript/์ฝ๋ฉ๊ธฐ์ดํธ๋ ์ด๋] A ๊ฐ์กฐํ๊ธฐ function solution(myString) { return [...myString].map(v => v === "a" || v === "A" ? "A" : v.toLowerCase()).join(""); } ์ฒ์์ "A" -> "A" ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์ง ์์์ ํต๊ณผ๋์ง ์์๋ค. "A" ๊ฐ "a" ๊ฐ ๋์ด๋ฒ๋ฆผ. ๊ทผ๋ฐ map ์์์ v === "a" || "A" ? ์ด๋ ๊ฒ ์จ์ ๋ ํต๊ณผ๋์ง ๋ชปํ๋ค. ์ด๋ ๊ฒ ์ฐ๋ฉด v๋ "a" ์ธ ๊ฒฝ์ฐ์ ๊ทธ๋ฅ "A"๊ฐ ์๋ ์ํฉ์ด์ง , v ๊ฐ "a" ๋๋ v๊ฐ "A" ์ผ ๋ ๋๊ฐ์ง ํ๊ฐ๊ฐ ๋์ง ์๋๋ค. ๊ฐ๋ ์ฐฉ๊ฐํด์ ์ด๋ ๊ฒ ์๋ชป์ด๋ค..!! boolean ๊ฐ์ผ๋ก ํ๊ฐํด์ผํ ๋ ๊ผญ ์ ์ํ๊ธฐ. ์๋ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋ ์ค ๊น๋ํด๋ณด์ด๋ฉด์, ์๋ณด๋ ๋ฐฉ์์ด๋ผ ๊ฐ์ ธ์๋ค. funct.. [ํ๋ก๊ทธ๋๋จธ์ค/Javascript/์ฝ๋ฉ๊ธฐ์ดํธ๋ ์ด๋] ๋ฐฐ์ด์ ๊ธธ์ด์ ๋ฐ๋ผ์ ๋ค๋ฅธ ์ฐ์ฐ ํ๊ธฐ ๋ด๊ฐ ์ ์ถํ ๋ฐฉ์. function solution(arr, n) { return arr.length % 2 === 1 ? arr.map((v, i) => i % 2 === 0 ? v + n : v) : arr.map((v, i) => i % 2 === 1 ? v + n : v)} ํต๊ณผ๋ ํ์ง๋ง, ์ฝ๋๊ฐ ๋๋ฌด ๊ธธ๊ณ ๋ฐ๋ณต๋๋ ๋ถ๋ถ๋ ๋ง๋ค. ๋ฌธ์ ๋ฅผ ๊ทธ๋๋ก ์จ์ ๊ทธ๋ ๋ค. ์๋์ฒ๋ผ ๋ฌธ์ ๋ฅผ ๊ฐ๊ฒฐํ ์์ผ์ ์กฐ๊ฑด๊ณผ ์ถ๋ ฅ๊ฐ์ ์ค์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ๊ฐ๋ ์ฑ์ด ์ข๋ค. const solution = (arr, n) => arr.map((num, idx) => ( arr.length % 2 !== idx % 2 ? num + n : num )) ๋ฐฐ์ด์ ๊ธธ์ด์ index ์ ๊ธธ์ด๋ฅผ ์ผ์น ์ํด. (ํ์์ผ ๋ -> ํ์ index, ์ง.. [๋ชจ๋ฅ๋ค] 25์ฅ ํด๋์ค (1) ๐ฎ 25.1 ํด๋์ค๋ ํ๋กํ ํ์ ์ ๋ฌธ๋ฒ์ ์คํ์ธ๊ฐ? ํด๋์ค๋ฅผ ์ ๊ณตํ๋ค๊ณ ํด์, ๊ธฐ์กด์ ํ๋กํ ํ์ ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ๋ชจ๋ธ์ ํ์งํ๊ณ ์๋กญ๊ฒ ํด๋์ค ๊ธฐ๋ฐ ๋ชจ๋ธ์ ์ ๊ณตํ๋ ๊ฒ์ ์๋. ์ฌ์ค ํด๋์ค๋ ํจ์์ด๋ฉฐ, ๊ธฐ์กด ํ๋กํ ํ์ ๊ธฐ๋ฐ ํจํด์ ํด๋์ค ๊ธฐ๋ฐ ํจํด์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๋ฌธ๋ฒ์ ์คํ์ด๋ผ๊ณ ๋ณผ ์๋ ์๋ค. ๋จ, ํด๋์ค์ ์์ฑ์ ํจ์๋ ๋ชจ๋ ํ๋กํ ํ์ ๊ธฐ๋ฐ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง๋ง, ๋์ผํ๊ฒ ๋์ํ์ง๋ ์๋๋ค. ํด๋์ค๋ ์์ฑ์ ํจ์๋ณด๋ค ์๊ฒฉํ๋ฉฐ, ์์ฑ์ ํจ์์์ ์ ๊ณตํ์ง ์๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ค. ํด๋์ค ์์ฑ์ ํจ์ new ์ฐ์ฐ์ ์์ด ํธ์ถํ๋ฉด ์๋ฌ๋จ. new ์ฐ์ฐ์ ์์ผ๋ฉด -> ์ผ๋ฐ ํจ์๋ก ํธ์ถ ์์์ ์ง์ํ๋ extends ์ super ํค์๋ ์ง์ ์ง์ ์ํจ. ํธ์ด์คํ ์ด ๋ฐ์ํ์ง ์๋ ๊ฒ ์ฒ๋ผ ๋์ ํจ์ .. [ํ๋ก๊ทธ๋๋จธ์ค/Javascript/์ฝ๋ฉ๊ธฐ์ดํธ๋ ์ด๋] ์ ๋ฏธ์ฌ์ธ์ง ํ์ธํ๊ธฐ function solution(my_string, is_suffix) { return my_string.slice(- is_suffix.length) === is_suffix ? 1 : 0; } ์ด๋ ๊ฒ ์ฃผ์ด์ง ๋ฌธ์์ length ๋ฅผ ์ด์ฉํด์ ํ์๋๋ฐ, string.endsWith() ๋ผ๋๊ฒ ์์๋ค. String.prototype.endsWith() https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith String.prototype.endsWith() - JavaScript | MDN The endsWith() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ค ๋ฌธ์์ด์์ ํน์ ๋ฌธ์์ด๋ก ๋๋๋์ง๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ, ๊ทธ.. [๋ชจ๋ฅ๋ค] 24์ฅ ํด๋ก์ ํด๋ก์ ๋ JS ๊ณ ์ ์ ๊ฐ๋ ์ด ์๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ๋ ์ค์ํ ํน์ง์ด๋ค. ๊ณ ์ ์ ๊ฐ๋ ์ด ์๋๊ธฐ ๋๋ฌธ์ ECMAScript ์ฌ์์ ๋ฑ์ฅํ์ง ์๋๋ค. MDN ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ํ๋ค. ํด๋ก์ ๋ ํจ์์ ํจ์๊ฐ ์ ์ธ๋ ๋ ์์ปฌ ํ๊ฒฝ๊ณผ์ ์กฐํฉ์ด๋ค. ์ฌ๊ธฐ์ ๊ธฐ์ตํด์ผ ํ ํค์๋๋ : "ํจ์๊ฐ ์ ์ธ๋ ๋ ์์ปฌ ํ๊ฒฝ" ์ด๋ค. function out() { const x = 10; function inner() { console.log(x); //10 } inner(); } out(); ์ค์ฒฉํจ์ ๋ด๋ถ์์, ์์ ์ ํฌํจํ๊ณ ์๋ ์ธ๋ถ ํจ์์ ๋ณ์์ ์ ๊ทผํ ์ ์๋ค. ๋ง์ฝ inner ํจ์๊ฐ out ํจ์์ ๋ด๋ถ์์ ์ ์๋ ์ค์ฒฉํจ์๊ฐ ์๋๋ผ๋ฉด, inner ํจ์๋ฅผ out ํจ์ ๋ด๋ถ์์ ํธ์ถํ๋ค ํ๋๋ผ๋, out .. ์ด์ 1 ยทยทยท 11 12 13 14 15 16 17 ยทยทยท 29 ๋ค์