λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
JavaScript

[JavaScript] λ¬Έμžμ—΄ λ©”μ„œλ“œ μ•Œμ•„λ³΄κΈ°

by 코딩곡책 2022. 8. 16.
λ°˜μ‘ν˜•

λ¬Έμžμ—΄ λ©”μ„œλ“œ

이번 ν¬μŠ€νŒ…μ—μ„œλŠ” λ¬Έμžμ—΄ λ©”μ„œλ“œμ— λŒ€ν•΄ 닀뀄보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.
λ¬Έμžμ—΄ λ©”μ„œλ“œ 쀑 κ°€μž₯ 많이 μ“°μ΄λŠ” slice() / substring() / substr()에 λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.
얼핏보면 λΉ„μŠ·ν•΄ λ³΄μ΄λŠ” 이 3가지에도 κ½€λ‚˜ 큰 차이점이 μ‘΄μž¬ν•˜λŠ”λ°μš” 이에 λŒ€ν•΄μ„œ 깊게 닀뀄보도둝 ν•˜μ£ .


slice() / substring() / substr()

λ¬Έμžμ—΄μ—μ„œ μ›ν•˜λŠ” 값을 μΆ”μΆœν•΄ λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•˜λŠ” λ©”μ„œλ“œμ΄λ‹€. μ‚¬μš©ν•˜λŠ” 방식은 μ•„λž˜ λ°•μŠ€ μ°Έμ‘°.

"λ¬Έμžμ—΄".slice(μ‹œμž‘μœ„μΉ˜)
"λ¬Έμžμ—΄".slice(μ‹œμž‘μœ„μΉ˜, λλ‚˜λŠ” μœ„μΉ˜)
// μ‹œμž‘μœ„μΉ˜μ˜ 값은 λλ‚˜λŠ” μœ„μΉ˜μ˜ 값보닀 μž‘μ•„μ•Ό ν•œλ‹€.

// substring() μ‹œμž‘κ°’μ΄ λλ‚˜λŠ” 값보닀 클 경우 두 값을 λ°”κΏ”μ„œ 처리(μ—λŸ¬ 방지)
"λ¬Έμžμ—΄".substr(μ‹œμž‘μœ„μΉ˜)
"λ¬Έμžμ—΄".substr(μ‹œμž‘μœ„μΉ˜, 길이)

μ½”λ“œ 보기

const str1 = "javascript reference";

const currentStr1 = str1.slice(0);  // "javascript reference"; λͺ¨λ‘ 좜λ ₯
const currentStr2 = str1.slice(1);  // "avascript reference" 좜λ ₯, j 빠짐
const currentStr3 = str1.slice(2);  // "vascript reference" 좜λ ₯, ja 빠짐
const currentStr4 = str1.slice(0, 1);  // "j" 좜λ ₯, 0~1자리 좜λ ₯
const currentStr5 = str1.slice(0, 2);  // "ja" 좜λ ₯, 0~2자리 좜λ ₯
const currentStr6 = str1.slice(0, 3);  // "jav" 좜λ ₯, 0~3자리 좜λ ₯
const currentStr7 = str1.slice(1, 1);  // 아무것도 좜λ ₯λ˜μ§€ μ•ŠμŒ - β˜… λλ‚˜λŠ” μœ„μΉ˜κ°€ μ‹œμž‘ μœ„μΉ˜λ³΄λ‹€ 컀야함
const currentStr8 = str1.slice(1, 2);  // "a" 좜λ ₯
const currentStr9 = str1.slice(1, 3);  // "av" 좜λ ₯
const currentStr10 = str1.slice(1, 4);  // "ava" 좜λ ₯
const currentStr11 = str1.slice(-1);  // "e" 좜λ ₯
const currentStr12 = str1.slice(-2);  // "ce" 좜λ ₯
const currentStr13 = str1.slice(-3);  // "nce" 좜λ ₯
const currentStr14 = str1.slice(-3, -1);  // "nc" 좜λ ₯
const currentStr15 = str1.slice(-3, -2);  // "n" 좜λ ₯
const currentStr16 = str1.slice(-3, -3);  // 아무것도 좜λ ₯λ˜μ§€ μ•ŠμŒ

const currentStr17 = str1.slice(1, 4);  // "ava"
const currentStr18 = str1.slice(4, 1);  // ""

// substring은 μ‹œμž‘κ°’μ΄ 끝값보닀 크면 두 값을 λ°”κΏ”μ„œ μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— κ²°κ³Όκ°€ κ°™λ‹€.
const currentStr19 = str1.substring(4, 1);  // "ava"
const currentStr20 = str1.substring(1, 4);  // "ava"

const currentStr21 = str1.substr(0);    // λͺ¨λ‘ 좜λ ₯
const currentStr22 = str1.substr(1);    // "avascript reference"
const currentStr23 = str1.substr(2);    // "vascript reference"
const currentStr24 = str1.substr(0, 1);    // "j"
const currentStr25 = str1.substr(0, 2);    // "ja"
const currentStr26 = str1.substr(0, 3);    // "jav"
const currentStr27 = str1.substr(1, 2);    // "av"
const currentStr28 = str1.substr(1, 3);    // "ava"
const currentStr29 = str1.substr(1, 4);    // "avas"
const currentStr30 = str1.substr(-1);    // "e"
const currentStr31 = str1.substr(-2);    // "ce"
const currentStr32 = str1.substr(-3);    // "nce"
const currentStr33 = str1.substr(-1, 1);    // "e"
const currentStr34 = str1.substr(-2, 2);    // "ce"
const currentStr35 = str1.substr(-3, 3);    // "nce"
λ°˜μ‘ν˜•

λŒ“κΈ€


Reference Book

JavaScript
HTML
CSS
κ΄‘κ³  μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.