Reference/Javascript
slice() 메서드는 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열 및 배열을 반환합니다.
slice()
slice() 메서드는 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열 및 배열을 반환합니다. 즉 시작값과 끝값을 복사하여, 새로운 객체로 반환합니다. 원본은 변하지 않습니다. slice() 메서드는 배열 또는 문자열에서 사용 가능합니다.
특징 | 설명 |
---|---|
유형(type) | String.prototype.slice() / Array.prototype.slice() |
버전(version) | ES1 |
결과값(return) | 문자열(String) or 배열(Array) |
사용성 | ★★★★☆ |
문법(Syntax)
"문자열".slice(시작 위치)
"문자열".slice(시작 위치, 끝나는 위치)
"배열".slice(시작 위치)
"배열".slice(시작 위치, 끝나는 위치)
const str = "javascript reference";
str.slice(0) //javascript reference
str.slice(1) //avascript reference
str.slice(2) //vascript reference
str.slice(1, 2) //a
str.slice(1, 3) //av
str.slice(10, -1) //referenc
str.slice(10, -2) //referen
str.slice(-1) //e
str.slice(-2) //ce
str.slice(-3) //nce
str.slice(-3, -1) //nc
str.slice(-3, -2) //n
str.slice(-3, -2) //""
const arr = ["j", "a", "v", "a", "s", "c", "r", "i", "p", "t"];
arr.slice(0) //['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
arr.slice(1) //['a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
arr.slice(2) //['v', 'a', 's', 'c', 'r', 'i', 'p', 't']
arr.slice(1, 2) //['a']
arr.slice(1, 3) //['a', 'v']
arr.slice(5, -1) //['c', 'r', 'i', 'p']
arr.slice(5, -2) //['c', 'r', 'i']
arr.slice(-1) //['t']
arr.slice(-2) //['p', 't']
arr.slice(-3) //['i', 'p', 't']
arr.slice(-3, -1) //['i', 'p']
arr.slice(-3, -2) //['i']
- 문자열(string) : 문자열을 설정합니다.
- 배열(array) : 배열을 설정합니다.
- 시작 위치(indexStart) : 시작하는 위치 값을 설정합니다.
- 끝나는 위치(indexEnd) : 끝나는 위치 값을 설정합니다.
정의(Definition)
- slice() 메서드는 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열 및 배열을 반환합니다.
- slice() 메서드는 원래 문자열을 변경하지 않습니다.
- slice() 메서드는 시작 위치 값이 전체 길이 보다 길면 빈 문자열을 반환합니다.
- slice() 메서드는 시작 위치 값이 0보다 작다면 문자열 끝에서 시작됩니다.
- at(), concat(), includes(), indexOf(), lastIndexOf(), slice(), toString() 메서드는 배열(array) 또는 문자열(string)에서 둘다 사용 가능합니다.
문자열 변경과 관련된 메서드
- slice() 메서드는 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열 및 배열을 반환합니다.
- substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
- substr() 메서드는 문자열에서 시작 위치에서 길이 값을 추출하여, 새로운 문자열을 반환합니다.
- split() 메서드는 문자열을 구분자로 구분하고, 여러개의 문자열(배열)을 반환합니다.
- replace() 메서드는 문자열에서 특정 문자열을 교체하여, 새로은 문자열을 반환합니다.
- replaceAll() 메서드는 문자열에서 특정 문자열을 모두 교체하여, 새로은 문자열을 반환합니다.
- concat() 메서드는 매개변수로 전달된 문자열을 받어, 결합된 새로운 문자열을 반환합니다.
- repeat() 메서드는 주어진 횟수만큼 반복 복사하여, 새로운 문자열을 반환합니다.
- padStart() 메서드는 주어진 길이에 맞게 앞 문자열을 채우고, 새로운 문자열을 반환합니다.
- padEnd() 메서드는 주어진 길이에 맞게 뒤 문자열을 채우고, 새로운 문자열을 반환합니다.
- trim() 메서드는 문자열의 앞/뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
- trimStart() 메서드는 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
- trimEnd() 메서드는 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
- toUpperCase() 메서드는 문자열을 대문자로 설정하고, 대문자 문자열을 반환합니다.
- toLowerCase() 메서드는 문자열을 소문자로 설정하고, 새로운 문자열을 반환합니다.
- toString() 메서드는 데이터를 문자열로 변환하고, 문자열을 반환합니다.
- localeCompare() 메서드는 문자열과 문자열을 비교하여, 수치(음수, 양수, 0)을 반환합니다.
문자열 검색과 관련된 메서드
- indexOf() 메서드는 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
- lastIndexOf() 메서드는 문자열을 역순으로 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
- search() 메서드는 문자열(정규식)을 검색하고, 위치값(숫자)을 반환합니다.
- match() 메서드는 문자열(정규식)을 검색하고, 문자열(배열)을 반환합니다.
- matchAll() 메서드는 문자열(정규식)을 검색하고, 일치하는 모든 문자열(배열)을 반환합니다.
- at() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다.
- charAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 단일문자를 반환합니다.
- charCodeAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 정수 값을 반환합니다.
- charPointAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 포인트 정수 값을 반환합니다.
- includes() 메서드는 문자열 포함 여부를 검색하여, 그 결과를 불린(true, false)로 반환합니다.
- startsWith() 메서드는 시작하는 문자열에서 특정 문자열로 시작하는 확인하여, 그 결과를 불린(true, false)로 반환합니다.
- endsWith() 메서드는 끝나는 문자열에서 특정 문자열로 끝나는지 확인하여, 그 결과를 불린(true, false)로 반환합니다.
예제1(Sample)
문자열을 검색하여, 주어진 값과 일치하는 첫 번째 값을 반환하는 예제입니다.
javascript reference
클릭하면 여기에 정보가 나옵니다.
HTML
CSS
SCRIPT
<div class="charAt-box">
<span>javascript</span>
<p class="alert">클릭하면 여기에 정보가 나옵니다.</p>
</div>
#sample1 .indexof-box {
text-align: center;
}
#sample1 .indexof-box .alert {
padding-top: 10px;
}
#sample1 .indexof-box span {
border: 1px solid #e6e6e6;
padding: 10px 20px;
display: inline-block;
margin-bottom: 10px;
background-color: #A2CBFA;
border: 1px solid #4390E1;
color: #fff;
border-radius: 40px;
}
#sample1 .indexof-box em {
background-color: #A2CBFA;
border: 1px solid #4390E1;
color: #fff;
padding: 2px 5px;
}
#sample1 .indexof-box strong {
border-bottom: 1px solid #000;
}
const text = document.querySelector(".indexof-box .text").innerText; //javascript
const btnAll = document.querySelectorAll(".sampleBtn a");
const btnAlert = document.querySelector(".indexof-box .alert");
btnAll.forEach(btn => {
btn.addEventListener("click", (e) => {
e.preventDefault();
const char = Number(btn.innerText.trim()); //클릭한 버튼의 글씨
const result = text.slice(char-1, char);
btnAlert.innerHTML = `${char}번째 글자는 ${result} 입니다.`;
});
});
호환성(Compatibility)
6 | 7 | 8 | 9 | 10 | 11 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slice() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
댓글