-
Notifications
You must be signed in to change notification settings - Fork 0
speak_javascript_1
๋ธ๋ ๋ ์์ดํฌ๊ฐ ๋ท์ค์ผ์ดํ์ ๋์ ํ๊ธฐ ์ํด์ ๋ง๋ฌ. ์ฌ๋ฌ ์ธ์ด๋ก๋ถํฐ ์ํฅ์ ๋ฐ์์ ํจ์ํ, ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด ํผ์ฌ๋์ด ์์.
JavaScript : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
EcmaScript : ์ธ์ด ๋ช ์ธ์์ ์ฌ์ฉํ๋ ์ด๋ฆ
ECMA : European Computer Manufacturers Association์ ์ค๋ง๋ก์ ์ฌ์ฉ๋๋ค๊ฐ ๊ตญ์ ์ ํ์ฅ์ผ๋ก ์ค๋ง๋ก ์ฌ์ฉํ์ง ์์
-
'==='3์ค ๋ฑํธ๋ก ๋น๊ต. ๋น๊ต์์๋ ์๊ฒฉํ ๋น๊ต๋ฅผ ํ๋===์ฌ์ฉ์ ๊ถ์ฅ. -
์ธ๋ฏธ์ฝ๋ก (
;)์ ์ต์ ์ด์ง๋ง ์ฌ์ฉํ๋๊ฑธ ๊ถ์ฅ. -
์์ ๊ฐ (Primitive type)
Boolean, ์ซ์, ๋ฌธ์์ด, undefined, null- ๋น๊ต์ ์ค์ ๊ฐ์ผ๋ก ๋น๊ต
- ํ๋กํผํฐ ๋ณ๊ฒฝ ๋ถ๊ฐ, ํญ์ ๋ถ๋ณ.
- ํ์ฅ์ด ๊ฐ๋ฅ
undefined : ์ด๊ธฐํ ๋์ง ์์ ๋ณ์, ์๋ต๋ ๋งค๊ฐ๋ณ์, ์กด์ฌํ์ง ์๋ ํ๋กํผํฐ๋ฑ์ ํํ
null : ๊ฐ์ด ์์, ๊ฐ์ด ์๋ ๊ฐ, ๊ฐ์ฒด๊ฐ ์๋๋ฑ์ ํํfalse, 0, NaN : ๋ชจ๋ false๋ก ์ทจ๊ธํจ
NaN (Not a Number) : ์๋ฌ ๊ฐ
Infinity : ์๋ฌ๋ก ๋ฐ์๋๋ ๊ฐ, NaN์ ์ ์ธํ ์ด๋ค ์ซ์๋ณด๋ค ํฌ๊ณ , -Infinity๋ NaN์ ์ ์ธํ ์ด๋ค ์ซ์๋ณด๋ค ์๋ค -
์์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ฒด
{ firstName : 'Jane' }, [ 'apple, 'bananan' ]- ๋น๊ต์์ ์ฐธ์กฐ๋ก ๋น๊ต
- ํ๋กํผํฐ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํจ
-
undefined์ธ์ง null์ธ์ง ์ฒดํฌํ ๋
if (x !== undifined && x !== null) ...
-
๋ฌธ์์ด์ ๋ค์ด ์๋ ์ซ์๋ฅผ ๋ค๋ฃฐ ๋ (๊ฐ x๊ฐ ์ซ์์ธ์ง ๋ฌธ์์ด์ธ์ง ํ์ค์น ์์ ๋)
if (Number(x) === 123) ...
-
๋ํผ ์ธ์คํด์ค์ ์์ ๊ฐ ๋น๊ต (๋๋ฑ์ฐ์ฐ์๋ก ๋น๊ต)
'abc' == new String('abc') > true
-
๊ธฐ๋ณธ ๊ฐ ์ ๊ณตํ๊ธฐ
- ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ ๊ฐ
function saveText(text) { text = text || ''; }
- ํ๋กํผํฐ ๊ธฐ๋ณธ ๊ฐ
setTitle(options.title || 'Untitled');
- ํจ์์ ๊ธฐ๋ณธ ๋ฐํ๊ฐ
// str์ regex๊ฐ ๋ช ๋ฒ ์ผ์นํ๋์ง ์ผ๋ค // match๊ฐ ๋ฐฐ์ด ๋๋ null์ ๋ฐํํ๋ฏ๋ก null์ธ ๊ฒฝ์ฐ ๋น ๋ฐฐ์ด์ length๋ฅผ ๋ฐํํ๋๋ก ํ๋ค function countOccurrences(regex, str) { return (str.macth(regex) || []).length; }
- ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ ๊ฐ
-
์์ธ์ฒ๋ฆฌ์ Error() ์์ฑ์ ์ฌ์ฉ
if (somethingBadHappened) { throw new Error('Something bad happened'); }
-
IIFE(Immediately Invoked Function Expressions)์ ์ผ๋ฐ์ ์ธ ํํ (์ ์ญ ์ค์ฝํ๋ฅผ ์ค์ผ์ํค์ง ์๊ธฐ ์ํด ์ฌ์ฉ)
- ์ฆ์ ํธ์ถ๋จ, ๋ฐ๋์ ํํ์์ด์ด์ผ ํจ, ์ธ๋ฏธ์ฝ๋ก ์ ๋ถ์ฌ์ผํจ (ํธ์ถ)
(function () { // IIFE ์์ // IIFE ๋ด๋ถ }()); // IIFE ๋
- ๋ํผ ๊ฐ์ฒด๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
- ๋ฌธ์์ด์ ์ฌ์ฉ์ ํ๋ฐ์ดํ(
'')๋ก ๊ฐ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. - ํจ์ ์ด๋ฆ์ ์๋ฌธ์๋ก ์์ํ๋ ๊ฒ์ด ๊ด๋ก๋ค.
- ๋ฉ์๋ ์ด๋ฆ์ ์๋ฌธ์๋ก ์์ํ๋ ๊ฒ์ด ๊ด๋ก๋ค.
- ์์ฑ์ ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํ๋ ๊ฒ์ด ๊ด๋ก๋ค.
- ๋ฐฐ์ด์์๋
for-in์ ์ฐ์ง๋ง๋ผ. ํ๋กํผํฐ ํค๋ ์ํ ๋์์ด๋ฏ๋กfor,forEach๋ฅผ ์ฐ๋ ํธ์ด ๋ซ๋ค. - ๊ฐ์ฒด์์
for-in์ ์ธ ๋๋ ์ฃผ์ํ๋ผ. ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ์ํํ๋ฉฐ ์์๋ ํ๋กํผํฐ๋ ํด๋นํ๋ค. - with๋ฌธ์ ์ฌ์ฉํ์ง ๋ง๊ณ ํ์ํ ๊ฒฝ์ฐ์๋ ์งง๊ณ ์ผ์์ ์ธ ๋ณ์๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ผ.
- ์ด๋ฆ ๋ถ์ ํจ์ ํํ์์ ์ด๋ฆ์ ํจ์ ํํ์ ๋ด๋ถ์์๋ง ์ ๊ทผํ ์ ์๋ค (์ฌ๊ท ๊ตฌ์กฐ์์ ์ ์ฉ)
- ์ค์ฝํ ๋ด์์๋ ํจ์ ์ ์ธ ์ ์ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค. (Hoisting)
- ์ค์ฝํ ๋ด์์๋ ๋ณ์ ์ ์ธ ์ ์ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค. ๋จ, ๊ฐ์ด ์์ ์ ์๋ค (
undefined) - ํจ์ ํธ์ถ์์ ๋งค๊ฐ๋ณ์๋ ์ ๋ณด๋
arguments๊ฐ์ฒด์ ๋ด๊ธด๋ค. - ํด๋ก์ ๋ ๋ง๋ค์ด์ง ์ค์ฝํ์ ์ฐ๊ฒฐ๋ ์ฑ ์กด์ฌํ๋ ํจ์๋ค.
- ํฌ๊ฒ ๋ณด๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ๋ชจ๋ ๋ฌธ์์ด๊ณผ ๊ฐ์ผ๋ก ๋์ด ์๋(ํค-๊ฐ ์) ๋งต(
Dictionary)์ด๋ค. - ๊ฐ์ฒด์ ๋ค์ด์๋ ํค-๊ฐ ์์ ํ๋กํผํฐ๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋ฉ์๋๋ ๊ฐ์ด ํจ์์ธ ํ๋กํผํฐ์ด๋ค.
-
delete์ฐ์ฐ์์ ์ฌ์ฉ์ ํผํด๋ผ. ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ธ์คํด์ค์ ๋ณ๊ฒฝ(ํ๋กํผํฐ ์ถ๊ฐ ์ ๊ฑฐ)๊ฐ ์์๋ ์ฑ๋ฅ์ ์ต์ ํํ๋ค. ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ฉด ์ต์ ํ๊ฐ ์ฌ๋ผ์ง๋ค.