“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
자바스크립트 문자열 객체 정리
자바스크립트 문자열 객체
- at()
- charAt()
- charCodeAt()
- codePointAt()
- concat()
- localeCompare()
- normalize()
- padEnd()
- padStart()
- repeat()
at()
"문자열".at(위치값);
- 주어진 위치값에 해당하는 문자를 반환
- 위치값은 0부터 시작, 음수값도 허용
- 문자열의 범위를 벗어나면 undefined를 반환
"javascript refernce".at(0); //j
"javascript refernce".at(1); //a
"javascript refernce".at(-1); //e
"javascript refernce".at(-7); //e
"javascript refernce".at(-7); //e
"javascript refernce".at(20); //undefined
"javascript refernce".at(-20); //undefined
charAt()
"문자열".charAt(위치값);
- 지정된 위치값에 위치한 문자를 반환
- 위치값은 0부터 시작, 문자열의 길이보다 큰 값을 입력하면 빈문열을 반환
"javascript refernce".charAt(0); //j
"javascript refernce".charAt(8); //p
"javascript refernce".charAt(10); //(빈 문자열)
"javascript refernce".charAt(15); //r
"javascript refernce".charAt(-1); //(빈 문자열)
charCodeAt()
"문자열".charCodeAt(위치값);
- 문자열에서 특정 위치값에 위치한 문자의 유니코드값을 반환하는 메서드입니다.
- 문자열의 위치값을 매개변수로 받아 해당 위치값에 위치한 문자의 유니코드값을 정수로 반환합니다.
- 위치값은 0부터 시작하며, 문자열의 길이보다 큰 값이나 음수 값을 전달하면 "NaN"을 반환합니다.
"javascript refernce".charCodeAt(0); //106
"javascript refernce".charCodeAt(1); //97
"javascript refernce".charCodeAt(2); //118
"javascript refernce".charCodeAt(-1); //NaN
"javascript refernce".charCodeAt(-2); //NaN
codePointAt()
"문자열".codePointAt(위치값);
- 특정 위치값에 위치한 유니코드 포인트를 반환하는 메서드입니다.
- 위치값은 0부터 시작하며, 문자열의 길이보다 작아야합니다.
- 0보다 작거나 문자열의 길이보다 크거나 같은 경우 "undefined"를 반환합니다.
- 유니코드 문자를 다룰 때 유용하게 사용될 수 있습니다.
- 이모지와 같은 멀티바이트 문자나 유니코드 문자의 이스케이프 시퀸스를 다루는 경우 유용하게 사용됩니다.
"javascript".codePointAt(0); //97
"javascript".codePointAt(1); //118
"javascript".codePointAt(-1); //undefiend
"❣💜😥".codePointAt(0); //10083
concat()
"문자열".concat( "문자열");
- 문자열을 결합해 새로운 문자열로 반환하는 기능을 가지고 있습니다.
- 반환값 : 새로운 문자열을 반환합니다. 기존 문자열들을 순서대로 결합한 결과를 가지고 있습니다.
- 여러개의 문자열을 결합해야 하는 경우 유용하게 사용될 수 있습니다.
"java".concat("script"); //javascript
"javascript".concat(",", "reference"); //javascript,reference
"javascript".concat(" ", "reference"); //javascript reference
"javascript".concat(" ", "reference", "!") //javascript reference!
localeCompare()
"문자열".localeCompare(비교값);
- 두 개의 문자열을 비교해 정렬 순서를 결정하는데 사용
- 세 가지의 가능한 반환 값(음수, 양수, 0) 중 하나를 반환
- 0(음수) : 두 문자열이 동일한 문자열인 경우
- -1(음수) : 정렬 순서상 앞에 있거나 더 작은 문자열인 경우
- 1(양수) : 정렬 순서상 뒤에 있거나 더 큰 문자열인 경우
- 대소문자 구별, 유니코드 문자 비교 가능
"a".localeCompare("a"); //0
"a".localeCompare("A"); //-1
"A".localeCompare("a"); //1
"a".localeCompare("b"); //1
"b".localeCompare("a"); //-1
"red".localeCompare("blue"); //1
"blue".localeCompare("red"); //-1
"before".localeCompare("after"); //1
"after".localeCompare("before"); //-1
normalize()
"문자열".normalize(정규화);
- 문자열에 포함된 정규화된 유니코드 문자들을 표준화해 통일된 형태로 변환가능
- 정규화된 문자열을 반환
- 문자열의 유니코드 정규화를 수행해 문자열 처리의 일관성을 유지
"javascript".normalize(); //javascript
"javascript".normalize("NFD"); //javascript
"javascript".normalize("NFKC"); //javascript
"javascript".normalize("NFKD"); //javascript
"\u2665".normalize(); //♥
"\u2665".normalize("NFD"); //♥
"\u2665".normalize("NFKC"); //♥
"\u2665".normalize("NFKD"); //♥
padEnd()
"문자열"padEnd(문자열총길이, "추가할문자");
- 문자열을 특정 길이로 패딩하는 기능
- 주어진 길이에 도달하기 위해 원본 문자열의 끝에 특정 문자를 추가해 길이를 맞춤
"javascript".padEnd(10, "-"); //javascript
"javascript".padEnd(10, "-"); //javascript-
"javascript".padEnd(15, "-"); //javascript-----
"javascript".padEnd(15, "."); //javascript.....
padStart()
"문자열".padStart(문자열총길이, "추가할문자");
- 문자열을 특정 길이로 패딩하는 기능
- 주어진 길이에 도달하기 위해 원본 문자열의 시작부분에 특정 문자를 추가해 길이를 맞춤
"javascript".padStart(10, "⁎"); //javascript
"javascript".padStart(15, "⁎"); //⁎⁎⁎⁎⁎javascript
"javascript".padStart(15, "❤"); //❤❤❤❤❤javascript
"javascript".padStart(20, "❤"); //❤❤❤❤❤❤❤❤❤❤javascript
repeat()
"문자열".repeat(반복할횟수);
- 문자열을 주어진 횟수만큼 반복해 새로운 문자열을 생성
- 0 이상의 정수값만 반복
- 0보다 작거나 소수면 "Range Error"
"javascript".repeat(1); //javascript
"javascript".repeat(2); //javascriptjavascript
"javascript".repeat(3); //javascriptjavascriptjavascript
"javascript".repeat(-1); //RangeError