Reference/Javascript
at() 메서드는 지정한 숫자를 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다.
at()
at() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다. 양수와 음수 모두 설정 할 수 있으며, 음수 값의 경우 뒤에서부터 인덱스 값을 설정합니다. at() 메서드는 배열 또는 문자열에서 둘다 사용이 가능합니다.
특징 | 설명 |
---|---|
유형(type) | String.prototype.at() / Array.prototype.at() |
버전(version) | ES6 |
결과값(return) | 문자열 요소 or undefined |
사용성 | ★★☆☆☆ |
문법(Syntax)
"문자열".at(인덱스)
"javascript reference".at() //j
"javascript reference".at('0') //j
"javascript reference".at('1') //a
"javascript reference".at('2') //v
"javascript reference".at('3') //a
"javascript reference".at('4') //s
"javascript reference".at('5') //c
"javascript reference".at('-1') //e
"javascript reference".at('-2') //c
"javascript reference".at('-3') //n
"javascript reference".at('-4') //e
"javascript reference".at('-5') //r
- 문자열(string) : 문자열을 설정합니다.
- 인덱스(index) : 시작하는 위치 값을 설정합니다.
정의(Definition)
- at() 메서드는 정수 값을 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다.
- 양수와 음수 모두 설정 할 수 있으며, 음수 값의 경우 뒤에서부터 인덱스 값을 설정합니다.
- 주어진 인덱스에 배열이 없으면 undefined를 반환합니다.
비교(Compare)
- at() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다.
- charAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 단일문자를 반환합니다.
- charCodeAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 정수 값을 반환합니다.
- charPointAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 포인트 정수 값을 반환합니다.
문자열 변경과 관련된 메서드
- slice() 메서드는 문자열에서 원하는 값을 추출하여 새로운 문자열을 반환합니다.
- substring() 메서드는 문자열에서 원하는 값을 추출하여 새로운 문자열을 반환합니다.
- substr() 메서드는 문자열에서 원하는 값을 추출하여 새로운 문자열을 반환합니다.
- split() 메서드는 문자열을 부분 문자열로 구분하고 배열로 반환합니다.
- replace() 메서드는 문자열에서 특정 문자열을 교체하여 새로은 문자열을 반환합니다.
- replaceAll() 메서드는 문자열에서 모든 특정 문자열을 교체하여 새로은 문자열을 반환합니다.
- concat() 메서드는 둘 이상의 문자열을 결합하여 새로운 문자열을 반환합니다.
- repeat() 메서드는 문자열을 복사하여, 복사한 새로운 문자열을 반환합니다.
- padStart() 메서드는 주어진 길이에 맞게 앞 문자열을 채우고, 새로운 문자열을 반환합니다.
- padEnd() 메서드는 주어진 길이에 맞게 뒤 문자열을 채우고, 새로운 문자열을 반환합니다.
- trim() 메서드는 문자열의 앞뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
- trimStart() 메서드는 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
- trimEnd() 메서드는 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
- toUpperCase() 메서드는 문자열을 대문자로 설정하고, 새로운 문자열을 반환합니다.
- toLowerCase() 메서드는 문자열을 소문자로 설정하고, 새로운 문자열을 반환합니다.
- toString() 메서드는 데이터를 문자열로 변환하고, 새로운 문자열을 반환합니다.
문자열 검색과 관련된 메서드
- indexOf() 메서드는 문자열을 검색하고 위치값(숫자)을 반환합니다.
- lastIndexOf() 메서드는 문자열을 역순으로 검색하고 위치값(숫자)을 반환합니다.
- search() 메서드는 문자열(정규식)을 검색하고 위치값(숫자)을 반환합니다.
- match() 메서드는 문자열(정규식)을 검색하고 문자값(배열)을 반환합니다.
- charAt() 메서드는 지정한 숫자(index)의 단일 문자 값을 반환합니다.
- charCodeAt() 메서드는 지정한 숫자(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 = btn.innerText.trim(); //클릭한 버튼의 글씨
const result = text.at(char);
btnAlert.innerHTML = `${char}번째 문자열은 <em>${result}</em> 입니다.`;
});
});
호환성(Compatibility)
6 | 7 | 8 | 9 | 10 | 11 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
at() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
참고(Reference)
- https://tc39.es/ecma262/multipage/
text-processing.html #sec-string.prototype.at - 한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드
- 한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리
- 유니코드 : https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C
- UTF-8 : https://ko.wikipedia.org/wiki/UTF-8
댓글