ํฐ์คํ ๋ฆฌ ๋ทฐ
String.prototype.slice()
str.slice(start[, end])
String.prototype.substring()
str.substring(start[, end])
๊ณตํต์
- ๋ ๋ค 2๊ฐ์ ์ธ์(start, end)๋ฅผ ๋ฐ์ง๋ง, ๋๋ฒ์งธ(end)๋ optional
- start ์ธ๋ฑ์ค๋ถํฐ end ์ธ๋ฑ์ค "์ง์ "๊น์ง ์ถ์ถ
- end ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ๋ง์ง๋ง๊น์ง
- start = end ์ผ ๊ฒฝ์ฐ, ๋น ๋ฌธ์์ด ๋ฐํ
์ฐจ์ด์
- ์์์ธ๋ฑ์ค์ผ ๊ฒฝ์ฐ,
slice()
๋ ์ญ๋ฐฉํฅ์ผ๋ก ์นด์ดํธ /substring()
์ 0์ผ๋ก ์นํ๋จ - start ๊ฐ end ๋ณด๋ค ํฐ ๊ฒฝ์ฐ,
slice()
๋ ๋น ๋ฌธ์์ด ๋ฐํ /substring()
์ ๋ง์น ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๊พผ ๋ฏ ์๋ - ์ธ์๊ฐ strLength ๋ณด๋ค ํฐ ๊ฒฝ์ฐ,
substring()
์ strLength ๋ก ์นํํด์ ์ฒ๋ฆฌ /slice()
๋ start ๊ฐ strLength ํฐ ๊ฒฝ์ฐ์๋ ๋น ๋ฌธ์์ด ๋ฐํ, end ๊ฐ strLength ํฐ ๊ฒฝ์ฐ์๋ strLength ๋ก ์นํ
start ์ธ๋ฑ์ค๋ถํฐ, end "์ง์ " ๊น์ง ์ธ๋ ๊ฒ ํท๊ฐ๋ฆฐ๋ค๋ฉด
์๋์ ๊ฐ์ด ๊ธ์ ์ฌ์ด์ ์ธ๋ฑ์ค๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ , ๊ทธ ๋ฒ์ ์์ ๋ค์ด๊ฐ๋ ๊ฒ๋ง ์ถ์ถํ๋ ๊ฑธ๋ก ์
์ ์๋ค.
๋๋ ์ด๋ ๊ฒ ์ธ๋๊ฒ ํจ์ฌ ์ง๊ด์ ์ด๊ณ ๋น ๋ฅด๋ค.
๋ช๊ฐ์ง ์์ ๋ก ๋น๊ตํด๋ณด์๋ค.
๋์ผํ ์ ๋ ฅ๊ฐ, ๋์ผํ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค๋ ๊ฒฝ์ฐ
// start, end ๋ชจ๋ ์๋ ๊ฒฝ์ฐ
"CARROT".slice() // result : "CARROT"
"CARROT".substring() // result : "CARROT"
// start index ์์ ํ๋์ธ ๊ฒฝ์ฐ
"CARROT".slice(3) // result : "ROT"
"CARROT".substring(3) // result : "ROT"
// start === end ์ธ ๊ฒฝ์ฐ
"CARROT".slice(3, 3) // result : ""
"CARROT".substring(3, 3) // result : ""
๋์ผํ ์ ๋ ฅ๊ฐ, ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค๋ ๊ฒฝ์ฐ
// ์์ ์ธ๋ฑ์ค
"CARROT".slice(-2) // result : "OT" -> ์ญ๋ฐฉํฅ ์ธ๋ฑ์ค๋ถํฐ ์์
"CARROT".substring(-2) // result : "CARROT" -> ์์์ธ ๊ฒฝ์ฐ, 0์ผ๋ก ์นํ
// start > end
"CARROT".slice(4,2) // result : ""
"CARROT".substring(4,2) // result : "RR" -> ๋ง์น ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๊พผ ๋ฏ ์๋
// ์์ ์ธ๋ฑ์ค2
"CARROT".slice(2, -2) // result : "RR" -> start ๋ ์ ๋ฐฉํฅ, end ๋ ์ญ๋ฐฉํฅ
"CARROT".substring(2, -2) // result : "CA" -> ์์๊ฐ 0์ผ๋ก ์นํ, start>end ์ด๋ฏ๋ก swap
// ์ธ์๊ฐ strLength ๋ณด๋ค ํฐ ๊ฒฝ์ฐ
"CARROT".slice(10, 2) // result : ""
"CARROT".substring(10, 2) // result : "RROT" -> swap ๋ ํ, 10์ด strLength๋ก ์นํ
์ฐธ๊ณ :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring
'๊ณต๋ถ > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์์ฑ์ํจ์์ return ๊ฐ (0) | 2020.07.06 |
---|---|
[JS] forEach, for in, for of (์์์ Array empty ์์ ์ํ) (2) | 2020.07.06 |
[ESLint & Prettier] expected indentation of 2 spaces but found 4. (5) | 2020.06.27 |
[์คํฌ๋ฉ] 5 Tips to Write Better Conditionals in JavaScript (0) | 2020.06.27 |
[JS] A standard IF statement (1) | 2020.04.24 |
๋๊ธ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
TAG
- book
- string
- Stash
- eslint
- array
- ์ฝ๋ฉ๋ถํธ์บ ํ
- review
- GIT
- ๋ถํธ์บ ํ
- VSC
- HTML
- ์์ฑ์ํจ์
- ๋ฐ๋๋ผ์ฝ๋ฉ
- eventlistener
- css
- js
- stackoverflow
- ๋ฐ๋๋ผ์ฝ๋ฉ ํ๊ธฐ
- KEYBOARD
- DOM
- Total
- Today
- Yesterday