type
JS์๋ 8๊ฐ์ง์ ์๋ฃํ์ด ์กด์ฌํ๋ค.
์์ ์๋ฃํ
๋ฌธ์ (string)
ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด : ${...} ์๋ฐฑํฑ์ผ๋ก ๊ฐ์ธ ๋ฌธ์์ด ์ค๊ฐ์ ํํ์์ ํ์ํ๋ ๋ฐฉ์
let num = 111;
alert(`num is ${num}`); //num is 111
length : ๋ฌธ์์ด ๊ธธ์ด
str.length()๊ฐ ์๋ str.length์ด๋ค.
ํจ์๊ฐ ์๋๋ผ ์ซ์๊ฐ ์ ์ฅ๋๋ ํ๋กํผํฐ์ด๊ธฐ ๋๋ฌธ
for ... of ๋ฌธ ์ด์ฉํ์ฌ ๋ฌธ์์ ์ ๊ทผ๊ฐ๋ฅ
for (let char of 'hello') {
alert(char); // h,e,l,l,o
}
๋ฌธ์์ด์ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
let str = 'hi';
str[0] = 'B'; //error
str.toLowerCase(),str.toUpperCase() : ๋ฌธ์์ด ๋์๋ฌธ์ ๋ณ๊ฒฝ
str.indexOf(substr,pos) : ๋ถ๋ถ ๋ฌธ์์ด ์์น ์ฐพ๊ธฐ
str์์ pos๋ฒ์งธ substr์ ์์ ์์น๋ฅผ ๋ฐํ ์์ผ๋ฉด -1๋ฐํ
let str = 'Widget with id';
alert(str.indexOf('id', 2)); // 12
str.includes(substr,pos) : ๋ถ๋ถ ๋ฌธ์์ด ํฌํจ ์ฌ๋ถ ํ์ธ
str์์ pos๋ฒ์งธ substr์ด ์์ผ๋ฉด true, ์์ผ๋ฉด false
str.slice(start,end) : ๋ถ๋ถ ๋ฌธ์์ด ์ถ์ถ
str์์ start๋ถํฐ end๊น์ง ์ถ์ถ
end๋ ์๋ต ๊ฐ๋ฅํ๋ฉฐ ์๋ต์ ๋๊น์ง
start์ end๋ ์์๋ ํ์ฉํ๋ฉฐ end๋ start๋ณด๋ค ์ปค์ผํ๋ค.
str.substring(start, end) : ๋ถ๋ถ ๋ฌธ์์ด ์ถ์ถ
str.slice์ ๋น์ทํ๋ start๊ฐ end๋ณด๋ค ์ปค๋ ๊ด์ฐฎ์ผ๋ฉฐ ์์๋ฅผ ํ์ฉํ์ง ์๋๋ค.
str.substr(start,length) : ๋ถ๋ถ ๋ฌธ์์ด ์ถ์ถ
start๋ถํฐ length๋งํผ ๋ฌธ์์ด์ ์ถ์ถํ๊ณ start๋ ์์๋ฅผ ํ์ฉํ๋ substr์ ๊ตฌ์ ์คํฌ๋ฆฝํธ์ ๋์ํ๊ธฐ ์ํด ๋จ๊ฒจ๋์ ๋ฉ์๋์ด๋ค.
str.codePointAt(pos) : pos์ ์์นํ ๊ธ์์ ์ฝ๋๋ฅผ ๋ฐํ
alsert('z'.codePointAt(0)); //122
String.fromCodePoint(code) : ์ซ์ ํ์์ code์ ๋์ ๋๋ ๊ธ์ ๋ฐํ
alert(String.fromCodePoint(122)); // z
์ซ์ (number)
e๋ฅผ ์ด์ฉํด 0์ ๊ฐ์ ํ์ ๊ฐ๋ฅ
let billion = 1e9; //10์ต
alert(7.3e9); //73์ต
let ms = 1e-6;
0.000001;
์ซ์๋ฅผ ๋ฌธ์๋ก ๋ฐ๊ฟ๋ num.toString(base)์ด์ฉ
base๋ 2~36์ผ๋ก ๋ฐ๊ฟ ์ง๋ฒ
๋ณ์๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์๋ ์ซ์ ๊ทธ๋๋ก ์ด์ฉํ ๋๋ .์ ํ๊ฐ ๋ ์ด์ฉํ๊ฑฐ๋ ๊ดํธ()๋ก ๋ฌถ์ด์ฃผ๋ฉด ์ด์ฉ๊ฐ๋ฅ
let num = 255;
alert(num.toString(16)); //ff
(255).toString(16); //ff
(255).toString(16); //ff
Math.floor(num) : ์์์ ์ฒซ์งธ ์๋ฆฌ์์ ๋ฒ๋ฆผ
Math.ceil(num) : ์์์ ์ฒซ์งธ์๋ฆฌ์์ ์ฌ๋ฆผ
Math.round(num) : ์์์ ์ฒซ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ
Math.trunc(num) : ์์ ๋ฌด์
num.toFixed(x) : ์์ x์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผ ํ ๋ฌธ์์ด ๋ฐํ
์ซ์๊ฐ ๋๋ฌด ํฌ๋ฉด Infinity์ฒ๋ฆฌ
js์์๋ ์ซ์์ ๋ถํธ๋ฅผ ๋จ์ผ๋นํธ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ 0๊ณผ -0๋์ข
๋ฅ์ 0์ด ์กด์ฌํ๋ค. (๋๋ถ๋ถ์ ์ฐ์ฐ์ ๋์ผ ์ทจ๊ธ)
NaN์ ์๊ธฐ ์์ ์ ํฌํจํ์ฌ ์ด๋ค ๊ฐ๊ณผ๋ ๊ฐ์ง ์๋ค.
alert(NaN === NaN); //false
isNaN(value) : value๋ฅผ ์ซ์๋ก ๋ณํํ NaN ์ธ์ง ํ๋ณ (value๊ฐ false๋ฉด ์ซ์)
inFinte(value) : value๋ฅผ ์ซ์๋ก ๋ณํํ NaN/Infinity/-Infinity์ธ์ง ํ๋ณ (value๊ฐ true๋ฉด ์ผ๋ฐ ์ซ์)
Math.random() : 0๊ณผ 1์ฌ์ด ๋์ ๋ฐํ
Math.max(a,b,...) : ์ต๋๊ฐ ๋ฐํ
Math.min(a,b,...) : ์ต์๊ฐ ๋ฐํ
Math.pow(n,pow) : n์ pow ์ ๊ณฑ ๋ฐํ
symbol
์ฌ๋ณผ์ ์ ์ผํ ์๋ณ์๋ฅผ ๋ง๋ค๊ณ ์ถ์๋ ์ฌ์ฉ
let id = Symbol();
let id1 = Symbol('name'); //์ฌ๋ณผ ์ด๋ฆ์ด๋ผ ๋ถ๋ฆฌ๋ ์ค๋ช
์ ๋ถ์ผ ์๋ ์๋ค. ์ฌ๊ธฐ์ name์ด ์ค๋ช
๋ถ๋ถ
์ฌ๋ณผ์ ์ ์ผ์ฑ์ด ๋ณด์ฅ๋๋ ์๋ฃํ์ด๊ธฐ ๋๋ฌธ์, ์ค๋ช
์ด ๋์ผํ ์ฌ๋ณผ์ ์ฌ๋ฌ๊ฐ๋ง๋ค๋๋ผ๋ ๊ฐ ์ฌ๋ณผ๊ฐ์ ๋ค๋ฅด๋ค.
๋ํ, ์ฌ๋ณผ์ ๋ฌธ์ํ์ผ๋ก ์๋ ํ๋ณํ์ด ๋์ง ์๋๋ค.
๊ตณ์ด ์ถ๋ ฅํด์ผ๊ฒ ๋ค๋ฉด .toString()ํจ์ ์ด์ฉํ๊ฑฐ๋ .description์ ์ด์ฉํ๋ฉด ์ค๋ช
๋ง ๋ณด์ฌ์ค ์ ์๋ค.
let id1 = Symbol('id1');
let id2 = Symbol('id2');
alert(id == id2); //false
alert(id1); //error
alert(id1.toString()); //Symbol(id)
ํจ์๋ ๊ฐ์ฒด์ ์ผ์ข
์ด๋ค.
ํจ์๋ฅผ ํ๋กํผํฐ๋ก ์ ์ฅ์ด ๊ฐ๋ฅ
js๋ ๋ ์ง, ์ค๋ฅ, ์๊ฐ, HTML ์์ ๋ฑ์ ๋ค๋ฃฐ ์ ์๊ฒ ๋ด์ฅ ๊ฐ์ฒด๋ํ ์ ๊ณต
Array๋ ๊ฐ์ฒดํ์ ์ํ๋ค.
์์ ๋ํผ ๊ฐ์ฒด
์์๊ฐ์ด ๋ฉ์๋๋ ํ๋กํผํฐ์ ์ ๊ทผํ ์ ์๊ฒ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋ ํน์ ๊ฐ์ฒด
String,Number,Boolean,Symbol ๊ณผ ๊ฐ๋ค.
์๋์ ๊ฐ์ด ์์๊ฐ์ธ stringํ์ ๋ณ์์ ๋ฉ์๋๋ฅผ ์ ๊ทผํ ์ ์๊ฒ ๋์์ค๋ค.