JavaScript๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์์ํ์ ๋ ์ ๊ฐ ๊ฐ์ฅ ๋จผ์ ํ ์ผ์ ์๊ฐ์ ์ ์ฝํ๋ ๋ฐ ๋์์ด ๋๋ ์๋ น ๋ชฉ๋ก์ ๋ง๋๋ ๊ฒ์ด์์ต๋๋ค. ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ, ๋ค๋ฅธ ์ฌ์ดํธ, ๋งค๋ด์ผ์์ ๊ทธ๊ฒ๋ค์ ๋ฐ๊ฒฌํ์ต๋๋ค.
์ด ๊ธฐ์ฌ์์๋ JavaScript ์ฝ๋๋ฅผ ๊ฐ์ ํ๊ณ ์๋๋ฅผ ๋์ด๋ 12๊ฐ์ง ์ข์ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ณดํธ์ ์
๋๋ค.
์๋ฆผ: "Habr"์ ๋ชจ๋ ๋ ์๋ฅผ ์ํ - "Habr" ํ๋ก๋ชจ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ Skillbox ๊ณผ์ ์ ๋ฑ๋กํ ๋ 10 ๋ฃจ๋ธ ํ ์ธ.
Skillbox๋ ๋ค์์ ๊ถ์ฅํฉ๋๋ค. ์ค๊ธฐ ์ฝ์ค
"๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ PRO" .
๊ณ ์ ๊ฐ ํํฐ๋ง
๋ฐฐ์ด
Set ๊ฐ์ฒด ์ ํ์ ..., ์คํ๋ ๋ ์ฐ์ฐ์์ ํจ๊ป ES6์์ ๋์ ๋์์ผ๋ฉฐ, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ ํ ๊ฐ๋ง ํฌํจํ๋ ์ ๋ฐฐ์ด์ ๋ง๋ค ์ ์์ต๋๋ค.
const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // Result: [1, 2, 3, 5]
์ผ๋ฐ์ ์ธ ์ํฉ์์๋ ๋์ผํ ์์ ์ ์ํํ๋ ค๋ฉด ํจ์ฌ ๋ ๋ง์ ์ฝ๋๊ฐ ํ์ํฉ๋๋ค.
์ด ๊ธฐ์ ์ ์ ์๋์ง ์์, null, ๋ถ์ธ, ๋ฌธ์์ด ๋ฐ ์ซ์์ ๊ฐ์ ๊ธฐ๋ณธ ์ ํ์ ํฌํจํ๋ ๋ฐฐ์ด์ ์๋ํฉ๋๋ค. ๊ฐ์ฒด, ํจ์ ๋๋ ์ถ๊ฐ ๋ฐฐ์ด์ด ํฌํจ๋ ๋ฐฐ์ด๋ก ์์ ํ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ด ํ์ํฉ๋๋ค.
์ฃผ๊ธฐ ๋จ์์ ์บ์ ๋ฐฐ์ด ๊ธธ์ด
์ฌ์ดํด
for ๋ฃจํ๋ฅผ ๋ฐฐ์ธ ๋๋ ํ์ค ์ ์ฐจ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
for (let i = 0; i < array.length; i++){
console.log(i);
}
๊ทธ๋ฌ๋ ์ด ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด for ๋ฃจํ๋ ๋ฐ๋ณตํ ๋๋ง๋ค ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํ์ธํฉ๋๋ค.
๋๋ก๋ ์ด๊ฒ์ด ์ ์ฉํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ ๋ฒ์ ์ก์ธ์ค๊ฐ ํ์ํ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์บ์ํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณ์ i๋ฅผ ์ ์ํ๋ ๊ณณ์ ๊ธธ์ด ๋ณ์๋ฅผ ์ ์ํ์ฌ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
for (let i = 0, length = array.length; i < length; i++){
console.log(i);
}
์์น์ ์ผ๋ก ์์ ๊ฑฐ์ ๋์ผํ์ง๋ง ๋ฃจํ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๋ฉด ์๊ฐ์ด ํฌ๊ฒ ์ ์ฝ๋ฉ๋๋ค.
๋จ๋ฝ ์ ๊ฒฉ(๋งค์นด์ ์ ๊ฒฉ)
์กฐ๊ฑด๋ถ ์ฐ์ฐ์
์ผํญ ์ฐ์ฐ์๋ ๊ฐ๋จํ(๋๋ก๋ ๊ทธ๋ค์ง ๋จ์ํ์ง ์์) ์กฐ๊ฑด๋ฌธ์ ์์ฑํ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
x> 100? "100 ์ด๊ณผ": "100 ๋ฏธ๋ง";
x> 100? (x>200? "200 ์ด๊ณผ": "100-200 ์ฌ์ด"): "100 ๋ฏธ๋ง";
๊ทธ๋ฌ๋ ๋๋๋ก ์ผํญ ์ฐ์ฐ์์กฐ์ฐจ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ณต์กํฉ๋๋ค. ๋์ 'and' &&์ 'or'๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค || ๋์ฑ ๊ฐ๊ฒฐํ ๋ฐฉ์์ผ๋ก ํน์ ํํ์์ ํ๊ฐํ๋ ๋ถ์ธ ์ฐ์ฐ์์ ๋๋ค. ์ข ์ข "๋จ๋ฝ" ๋๋ "๋จ๋ฝ ์ ๊ฒฉ"์ด๋ผ๊ณ ํฉ๋๋ค.
์ด๊ฑฐ ์ด๋ป๊ฒ ์๋ ์์ผ์
๋ ๊ฐ ์ด์์ ์กฐ๊ฑด โโ์ค ํ๋๋ง ๋ฐํํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
&&๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ ๊ฑฐ์ง ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. ๊ฐ ํผ์ฐ์ฐ์๊ฐ true๋ก ํ๊ฐ๋๋ฉด ๋ง์ง๋ง์ผ๋ก ํ๊ฐ๋ ํํ์์ด ๋ฐํ๋ฉ๋๋ค.
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
||๋ฅผ ์ฌ์ฉํ์ฌ ์ฒซ ๋ฒ์งธ ์ฐธ๊ฐ์ ๋ฐํํฉ๋๋ค. ๊ฐ ํผ์ฐ์ฐ์๊ฐ false๋ก ํ๊ฐ๋๋ฉด ๋ง์ง๋ง์ผ๋ก ํ๊ฐ๋ ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค.
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
์๋ฅผ ๋ค์ด 1
๋ณ์์ ๊ธธ์ด๋ฅผ ๋ฐํํ๊ณ ์ถ์ง๋ง ํด๋น ์ ํ์ ๋ชจ๋ฅธ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
์ด ๊ฒฝ์ฐ if/else๋ฅผ ์ฌ์ฉํ์ฌ foo๊ฐ ์ฌ๋ฐ๋ฅธ ์ ํ์ธ์ง ํ์ธํ ์ ์์ง๋ง ์ด ๋ฐฉ๋ฒ์ ๋๋ฌด ๊ธธ์ด์ง ์ ์์ต๋๋ค. ๋ฐ๋ผ์ "๋จ๋ฝ"์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
return (foo || []).length;
๋ณ์ foo์ ๊ธธ์ด๊ฐ ์ ์ ํ ๊ฒฝ์ฐ ํด๋น ๊ธธ์ด๊ฐ ๋ฐํ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด 0์ ์ป๊ฒ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด 2
์ค์ฒฉ๋ ๊ฐ์ฒด์ ์ก์ธ์คํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์๋์? ๊ฐ์ฒด ๋๋ ๊ฐ์ฒด์ ํ์ ์์ฑ ์ค ํ๋๊ฐ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, this.state์ ๋ฐ์ดํฐ ์์ฑ์ ์ก์ธ์คํ๊ณ ์ถ์์ง๋ง ํ๋ก๊ทธ๋จ์ด ๊ฐ์ ธ์ค๊ธฐ ์์ฒญ์ ๋ฐํํ ๋๊น์ง ๋ฐ์ดํฐ๊ฐ ์ ์๋์ง ์์์ต๋๋ค.
์ฌ์ฉ ์์น์ ๋ฐ๋ผ this.state.data๋ฅผ ํธ์ถํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋์ง ์์ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ฅผ ์กฐ๊ฑด์์ผ๋ก ๋ํํ ์ ์์ต๋๋ค.
if (this.state.data) {
return this.state.data;
} else {
return 'Fetching Data';
}
๋ ๋์ ์ต์ ์ "or" ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
return (this.state.data || 'Fetching Data');
&&๋ฅผ ์ฌ์ฉํ๋๋ก ์์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. '๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ' && this.state.data ์ฐ์ฐ์๋ ์ ์๋์ง ์์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด this.state.data๋ฅผ ๋ฐํํฉ๋๋ค.
์ต์ ์ฒด์ธ
ํธ๋ฆฌ ๊ตฌ์กฐ ๊น์ ๊ณณ์์ ์์ฑ์ ๋ฐํํ๋ ค๊ณ ํ ๋ ์ ํ์ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ผ ๋ฌผ์ํ ๊ธฐํธ๋์? null์ด ์๋ ๊ฒฝ์ฐ์๋ง ์์ฑ์ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์์ ์์ ๋ฅผ ๋ฆฌํฉํฐ๋งํ์ฌ this.state.data?..()๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ฆ, ๊ฐ์ด null์ด ์๋ ๊ฒฝ์ฐ์๋ง ๋ฐ์ดํฐ๊ฐ ๋ฐํ๋ฉ๋๋ค.
๋๋ ์ํ๊ฐ ์ ์๋์๋์ง ์ฌ๋ถ๊ฐ ์ค์ํ ๊ฒฝ์ฐ this.state?.data๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค.
๋ถ์ธ๋ก ๋ณํ
์ ํ ๋ณํ
์ผ๋ฐ์ ์ธ ๋ถ์ธ ํจ์์ธ true ๋ฐ false ์ธ์๋ JavaScript๋ ๋ค๋ฅธ ๋ชจ๋ ๊ฐ๋ true ๋๋ falsy๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋ณ๋๋ก ๋ช ์ํ์ง ์๋ ํ JavaScript์ ๋ชจ๋ ๊ฐ์ 0, "", null, ์ ์๋์ง ์์, NaN ๋ฐ ๋ฌผ๋ก false๋ฅผ ์ ์ธํ๊ณ ์ง์ค์ ๋๋ค. ํ์๋ ๊ฑฐ์ง์ด๋ค.
์ ํ์ ๋ถ์ธ๋ก ๋ณํํ๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ฌ์ด๋ฅผ ์ฝ๊ฒ ์ ํํ ์ ์์ต๋๋ค.
const isTrue = !0;
const isFalse = !1;
const alsoFalse = !!0;
console.log(true); // Result: true
console.log(typeof true); // Result: "boolean"
๋ฌธ์์ด๋ก ๋ณํ
์ ํ ๋ณํ
์ ์์์ ๋ฌธ์์ด๋ก์ ๋น ๋ฅธ ๋ณํ์ ๋ค์๊ณผ ๊ฐ์ด ์ํํ ์ ์์ต๋๋ค.
const val = 1 + "";
console.log(val); // Result: "1"
console.log(typeof val); // Result: "string"
์ ์๋ก ๋ณํ
์ ํ ๋ณํ
์ด์ ๊ฐ์ด ์ญ๋ณํ์ ์ํํฉ๋๋ค.
let int = "15";
int = +int;
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
์ด ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ด ๋ถ์ธ ๋ฐ์ดํฐ ์ ํ์ ์ผ๋ฐ ์ซ์ ๊ฐ์ผ๋ก ๋ณํํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
console.log(+true); // Return: 1
console.log(+false); // Return: 0
+๊ฐ ๋ํ๊ธฐ ์ฐ์ฐ์๊ฐ ์๋ ์ฐ๊ฒฐ ์ฐ์ฐ์๋ก ํด์๋๋ ์ํฉ์ด ์์ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ๋ฌผ๊ฒฐํ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค: ~~. ์ด ์ฐ์ฐ์๋ -n-1๊ณผ ๋์ผํฉ๋๋ค. ์๋ฅผ ๋ค์ด ~15๋ -16๊ณผ ๊ฐ์ต๋๋ค.
๋ ๊ฐ์ ๋ฌผ๊ฒฐํ๋ฅผ ์ฐ์ํด์ ์ฌ์ฉํ๋ฉด - (- - n - 1) - 1 = n + 1 - 1 = n์ด๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ด ๋ฌดํจํ๋ฉ๋๋ค. ์ฆ, ~-16์ 15์ ๊ฐ์ต๋๋ค.
const int = ~~"15"
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
<Quick Powers
์ด์
ES7๋ถํฐ ์ง์ ์ฐ์ฐ์ **๋ฅผ ๊ฑฐ๋ญ์ ๊ณฑ์ ์ฝ์ด๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ Math.pow(2, 3)์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฆ ๋๋ค. ๊ฐ๋จํด ๋ณด์ด์ง๋ง ์ด ์ ์ ์ด๋์์๋ ์ธ๊ธ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ๋ชฉ๋ก์ ํฌํจ๋์ด ์์ต๋๋ค.
console.log(2 ** 3); // Result: 8
์ง์ ๊ณ์ฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ^ ๊ธฐํธ์ ํผ๋ํด์๋ ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ JavaScript์์๋ ์ด๊ฒ์ด XOR ์ฐ์ฐ์์ ๋๋ค.
ES7 ์ด์ ์๋ ** ๋จ์ถํค๋ ๋นํธ ์ผ์ชฝ ์ด๋ ์ฐ์ฐ์ <<๋ฅผ ์ฌ์ฉํ์ฌ 2์ง์์ ๊ฑฐ๋ญ์ ๊ณฑ์๋ง ์ฌ์ฉํ ์ ์์์ต๋๋ค.
Math.pow(2, n);
2 << (n - 1);
2**n;
์๋ฅผ ๋ค์ด 2 << 3 = 16์ 2 ** 4 = 16๊ณผ ๊ฐ์ต๋๋ค.
์ ์๋ก ๋ถ๋
์์ /์ ํ ๋ณํ
๋ถ๋์์์ ์ ์ ์๋ก ๋ณํํด์ผ ํ๋ ๊ฒฝ์ฐ Math.floor(), Math.ceil() ๋๋ Math.round()๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋ฅผ ์ํด |, ์ฆ OR ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
console.log(23.9 | 0); // Result: 23
console.log(-23.9 | 0); // Result: -23
ํ๋ | ๋ค๋ฃจ๋ ๋์์ด ์์์ธ์ง ์์์ธ์ง์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง๋ฏ๋ก ์ด ๋ฐฉ๋ฒ์ ์ํ ์ค์ธ ์์ ์ ์์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ ํฉํฉ๋๋ค.
์ | 0์ ์์ ๊ตฌ๋ถ ๊ธฐํธ ๋ค์ ๋ชจ๋ ๋ด์ฉ์ ์ ๊ฑฐํ๊ณ ๋ถ๋ ์์์ ์ ์ ์๋ก ์๋ฆ ๋๋ค.
~~๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ฐ์ฌ๋ฆผ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ฐ์ ๋ก ์ ์๋ก ๋ณํํ ํ์๋ ๊ฐ์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
ํํ ์ซ์ ์ ๊ฑฐ
OR ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ซ์์์ ์์์ ์๋ฆฟ์๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ์ฆ, ๋ค์๊ณผ ๊ฐ์ด ์ ํ์ ๋ณํํ ํ์๊ฐ ์์ต๋๋ค.
let str = "1553";
Number(str.substring(0, str.length - 1));
๋์ ๊ฐ๋จํ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
console.log(1553 / 10 | 0) // Result: 155
console.log(1553 / 100 | 0) // Result: 15
console.log(1553 / 1000 | 0) // Result: 1
์๋ ์ฐ๊ฒฐ
ํด๋์ค
ES6 ํ์ดํ ํ๊ธฐ๋ฒ์ ํด๋์ค ๋ฉ์๋์์ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ ๋ฐ์ธ๋ฉ์ด ์์๋ฉ๋๋ค. ์ด๋ this.myMethod = this.myMethod.bind(this)์ ๊ฐ์ ๋ฐ๋ณต์ ์ธ ํํ์์ ์๋ณ ์ธ์ฌ๋ฅผ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค!
import React, { Component } from React;
export default class App extends Compononent {
constructor(props) {
super(props);
this.state = {};
}
myMethod = () => {
// This method is bound implicitly!
}
render() {
return (
<>
<div>
{this.myMethod()}
</div>
</>
)
}
};
๋ฐฐ์ด ํธ๋ฆฌ๋ฐ
๋ฐฐ์ด
๋ฐฐ์ด์์ ๊ฐ์ ์ ๊ฑฐํด์ผ ํ๋ ๊ฒฝ์ฐ splice()๋ณด๋ค ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์๋ณธ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์๊ณ ์๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๊ธธ์ด ์์ฑ์ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array.length = 4;
console.log(array); // Result: [0, 1, 2, 3]
๊ทธ๋ฌ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ, ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์๋๊ฐ ์ค์ํ ๊ฒฝ์ฐ ๋ค์์ ์ ํํด ๋ณด์ธ์.
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array = array.slice(0, 4);
console.log(array); // Result: [0, 1, 2, 3]
๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ ์ธ์
๋ฐฐ์ด
์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ ค๋ฉด Slice() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(array.slice(-1)); // Result: [9]
console.log(array.slice(-2)); // Result: [8, 9]
console.log(array.slice(-3)); // Result: [7, 8, 9]
JSON ์ฝ๋ ํ์ ์ง์
JSON
์ด๋ฏธ JSON.stringify๋ฅผ ์ฌ์ฉํ์ ์๋ ์์ต๋๋ค. JSON ํ์์ ์ง์ ํ๋ ๋ฐ ๋์์ด ๋๋ค๋ ๊ฒ์ ์๊ณ ๊ณ์ จ๋์?
stringify() ๋ฉ์๋๋ ๋ ๊ฐ์ง ์ ํ์ ๋งค๊ฐ ๋ณ์, ์ฆ ํ์๋๋ JSON์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋์ฒด ํจ์์ ๊ณต๋ฐฑ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
console.log(JSON.stringify({ alpha: 'A', beta: 'B' }, null, 't'));
// Result:
// '{
// "alpha": A,
// "beta": B
// }'
๊ทธ๊ฒ ๋ค์ ๋๋ค. ์ด ๋ชจ๋ ๊ธฐ์ ์ด ์ ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๋ค ๋น๊ฒฐ์ ์๊ณ ์๋์? ๋๊ธ์ ์ ์ด์ฃผ์ธ์.
Skillbox๋ ๋ค์์ ๊ถ์ฅํฉ๋๋ค.
- XNUMX๋ ์ค์ต ์ฝ์ค
"์ ๋ PRO ์น ๊ฐ๋ฐ์์ ๋๋ค" .- ์จ๋ผ์ธ ์ฝ์ค
"0์ C# ๊ฐ๋ฐ์" .- ์ค๊ธฐ ์ฝ์ค
"0์์ PRO๋ก์ PHP ๊ฐ๋ฐ์" .
์ถ์ฒ : habr.com