๋ฐ์ดํฐ ํ์
์ ๊ฐ์ ์ข
๋ฅ.ES6์ 7๊ฐ์ ๋ฐ์ดํฐ ํ์
์ ์ ๊ณตํ๋ค.์์ ํ์
(primitive type)numberstringbooleanundefinednullsymbol: ES6์์ ๋์
๊ฐ์ฒด ํ์
(object/reference type)์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ํ์
์ ๊ตฌ๋ณํด์ ๊ฐ์ ์ทจ๊ธํ๋ค. 6.1 ์ซ์ ํ์
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ์์ ์ค์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ํ๋์ ์ซ์ ํ์
๋ง ์กด์ฌํ๋ค.ECMAScript ์ฌ์์ ๋ฐ๋ฅด๋ฉด, ์ซ์ ํ์
์ ๊ฐ์ ๋ฐฐ์ ๋ฐ๋ 64๋นํธ ๋ถ๋์์์ ํ์์ ๋ฐ๋ฅธ๋ค.์ฆ, ๋ชจ๋ ์๋ฅผ ์ค์๋ก ์ฒ๋ฆฌํ๊ณ integer type์ด ๋ณ๋๋ก ์กด์ฌํ์ง ์๋๋ค.์๋ฐ์คํฌ๋ฆฝํธ๋ 2์ง์, 8์ง์, 16์ง์๋ฅผ ํํํ๊ธฐ ์ํ ๋ฐ์ดํฐ ํ์
์ ์ ๊ณตํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ค ๊ฐ์ ์ฐธ์กฐํ๋ฉด ๋ชจ๋ 10์ง์๋ก ํด์๋๋ค.var binary ..
๐ DeepDive/JavaScript
5.1 ๊ฐ (value)๊ฐ(value): ํํ์(expression)์ด ํ๊ฐ(evaluate) ๋์ด ์์ฑ๋ ๊ฒฐ๊ณผ๋ชจ๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์
์ ๊ฐ์ง๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ์ 2์ง์, ๋นํธ์ ๋์ด๋ก ์ ์ฅ๋๋ค.๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์
์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํด์๋๋ค.0100 0001์ ์์คํค ์ฝ๋๋ก ์ซ์๋ก๋ 65, ๋ฌธ์๋ก๋ 'A'๋ณ์์๋ 'ํ๋์ ๊ฐ'์ ์ ์ฅํ๋ค.๊ฐ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ์ง๋ง. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ฆฌํฐ๋ด์ด๋ค. 5.2 ๋ฆฌํฐ๋ด (literal)๋ฆฌํฐ๋ด(literal): ์ฌ๋์ด ์ดํดํ ์ ์๋ ๋ฌธ์ ๋๋ ์ฝ์๋ ๊ธฐํธ๋ฅผ ์ฌ์ฉํด ๊ฐ์ ์์ฑํ๋ ํ๊ธฐ๋ฒ(notation)3;์ ์์ ์ 3์ ๋จ์ ์๋ผ๋น์ ์ซ์๊ฐ ์๋๋ผ ์ซ์ ๋ฆฌํฐ๋ด์ด๋ค.์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ฐํ์์ ๋ฆฌํฐ๋ด์ ํ๊ฐํด ๊ฐ์ ์์ฑํ๋ค.๋ฆฌํฐ๋ด์ ํตํด ๋ค์ํ data ..
4.1 ๋ณ์์ ๊ฐ๋
๊ณผ ํ์์ฑ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ํด, ํผ์ฐ์ฐ์(operand) ๊ธฐ์ตํด์ผ ํจ.์ปดํจํฐ๋ CPU๋ฅผ ์ฌ์ฉํด ์ฐ์ฐํ๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ตํจ.๋ฉ๋ชจ๋ฆฌ(memory):๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์
(memory cell)์ ์งํฉ์ฒด๋ฉ๋ชจ๋ฆฌ ์
ํ๋์ ํฌ๊ธฐ๋ 1๋ฐ์ดํธ(8๋นํธ)์ด๋ฉฐ, ์ปดํจํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์
์ ํฌ๊ธฐ(1๋ฐ์ดํธ) ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ write/read๊ฐ ์
์ ๊ณ ์ ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์(memory address)๋ฅผ ๊ฐ์ง.๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ 2์ง์๋ก ์ ์ฅ๋จ.์ง์ ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ํ์ฑ:์ค์๋ก ์ด์์ฒด์ ์ฌ์ฉํ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ์์คํ
์ ๋ฉ์ถ๊ฒ ํ๋ ์น๋ช
์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.-> ๋ฐ๋ผ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ๋ฐ์์ ์ง์ ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํ์ง ์๋๋ค.๋ํ ์ฝ๋๊ฐ ์คํ๋ ๋๋ง..
์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์ Node.js๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ด์ฅํ๊ณ ์์ด, ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ์ด์ธ ECMAScript๋ฅผ ์คํํ ์ ์์.ํ์ง๋ง ๋ธ๋ผ์ฐ์ ์ Node.js์์ ECMAScript ์ด์ธ์ ์ถ๊ฐ๋ก ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ ์๋ก ํธํ๋์ง ์์. ๋ธ๋ผ์ฐ์ ๋ ์นํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ๋ ๋๋งํ๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ด์ง๋ง, Node.js๋ ๋ธ๋ผ์ฐ์ ์ธ๋ถ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ.๋ธ๋ผ์ฐ์ ์์๋ง ์ง์ํ๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ Web API(Client-side APIs)ex: DOM API (ํ์ฑ๋ HTML ์์๋ฅผ ์ ํํ๊ฑฐ๋ ์กฐ์)Node.js์์๋ง ์ง์ํ๋ Node.js Host APIsex: ํ์ผ์ ์์ฑํ๊ณ ์์ ํ ์ ์๋ ํ์ผ ์์คํ
API๋ณด์์์ ์ด์ ๋ก ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ..
2.1 ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์1995๋
, 90%์ ์์ฅ ์ ์ ์จ๋ก ์น ๋ธ๋ผ์ฐ์ ์์ฅ์ ์ง๋ฐฐํ๋ ๋ท์ค์ผ์ดํ ์ปค๋ฎค๋์ผ์ด์
์ฆ.Brendan Eich๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ.Mocha -> LiveScript -> JavaScript ๋ก ์ด๋ฆ์ด ๋ฐ๋.2.2 ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์คํ1996๋
๋ง์ดํฌ๋ก์ํํธ๊ฐ JScript๋ผ๋ ํ์ ๋ฒ์ ์ ์ถ์ํจ.๋ท์ค์ผ์ดํ ์ปค๋ฎค๋์ผ์ด์
์ฆ์ ๋ง์ดํฌ๋ก์ํํธ๋ ์์ฌ ๋ธ๋ผ์ฐ์ ์ ์์ฅ ์ ์ ์จ์ ๋์ด๊ธฐ ์ํด ์์ฌ ๋ธ๋ผ์ฐ์ ์์๋ง ๋์ํ๋ ๊ธฐ๋ฅ ์ถ๊ฐํ๊ธฐ ์์ํจ.-> ์ต์ด์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ์ด์๋ท์ค์ผ์ดํ ์ปค๋ฎค๋์ผ์ด์
์ฆ๋ ECMA ์ธํฐ๋ด์
๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์คํ๋ฅผ ์์ฒญํจ.1997๋
, ์๋ฐ์คํฌ๋ฆฝํธ๋ ECMAScript๋ก ๋ช
๋ช
๋จ. (์ดํ, ES1)2015๋
์ ๊ณต๊ฐ๋ ECMAScript 6(ECMAScript 20..