01. at()
"문자열".at(위치값)
- ()안에 숫자를 index로 받아 문자열에 해당 되는 인덱스의 요소를 반환합니다.
- 배열에도 사용가능하며 정수값을 받아 utf-16코드 단위로 구성된 새 string을 반환
{
"Live positive".at("3"); // e
"Live positive".at("6"); // o(띄여쓰기 무시)
"Live positive".at("10"); // i
"Live positive".at("20"); // undefined
"Live positive".at("-3"); // i
"Live positive".at("-6"); // s
"Live positive".at("-10"); // e(띄여쓰기 무시)
"Live positive".at("-20"); // undefined
"Live positive".at("e"); // L(문자는 우연히 1로 변환하여 L을 받아드립니다.)
"Live positive".at("p"); // L
"Live positive".at("pos"); // L
"Live positive".at("p9"); // L
"Live positive".at("p","o"); // L
"Live positive".at("Live"); // L
"Live positive".at(0); // L
"Live positive".at(4); // (띄여쓰기까지 포함되어 4번째 인 띄여쓰기가 출력됩)
"Live positive".at(10); // i
"Live positive".at(20); // undefined
"Live positive".at(-4); // t
"Live positive".at(-10); // e
"Live positive".at(-20); // undefined
}
02. charAt()
"문자열".charAt(위치값)
- String 차입의 데이터(문자열)에서 특정 문자르 char 타입으로 변환 할때 사용하는 함수
- 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환
- 유니코드는 ASCII코드와 달리 16비트 이상의 다양한 비트 수를 사용하여 문자를 표현합니다
{
"Live positive".charAt("3"); // e
"Live positive".charAt("6"); // o(띄여쓰기 무시)
"Live positive".charAt("10"); // i
"Live positive".charAt("20"); // undefined(아무것도 안나오지만 undefined를 출력한 것임)
"Live positive".charAt("-3"); // undefined (음수 인덱스는 받을 수 없어 undefined가 출력됨)
"Live positive".charAt("-6"); // undefined
"Live positive".charAt("-10"); // undefined
"Live positive".charAt("-20"); // undefined
"Live positive".charAt("e"); // L(문자는 우연히 1로 변환하여 L을 받아드립니다.)
"Live positive".charAt("p"); // L
"Live positive".charAt("pos"); // L
"Live positive".charAt("p9"); // L
"Live positive".charAt("p","o"); // L
"Live positive".charAt("Live"); // L
"Live positive".charAt(0); // L
"Live positive".charAt(4); // (띄여쓰기까지 포함되어 4번째 인 띄여쓰기가 출력됩)
"Live positive".charAt(10); // i
"Live positive".charAt(20); // undefined
"Live positive".charAt(-4); // undefined (음수는 받을 수 없으므로)
"Live positive".charAt(-10); // undefined
"Live positive".charAt(-20); // undefined
}
03. charCodeAt()
"문자열".charCodeAt(위치값)
- index에 해당하는 문자의 UTF-16 코드 값을 리턴합니다.
- 0에서 65535 사이의 숫자를 반환
{
"Live positive".charCodeAt("3"); // e = 101
"Live positive".charCodeAt("6"); // o = 111(띄여쓰기 무시)
"Live positive".charCodeAt("10"); // i = 105
"Live positive".charCodeAt("20"); // NaN(아무것도 안나오지만 NaN를 출력한 것임)
"Live positive".charCodeAt("-3"); // NaN (음수 인덱스는 받을 수 없어 NaN가 출력됨)
"Live positive".charCodeAt("-6"); // NaN
"Live positive".charCodeAt("-10"); // NaN
"Live positive".charCodeAt("-20"); // NaN
"Live positive".charCodeAt("e"); // L = 76(정상적인 결과값이 아님/다른 브라우저에서는 원래라면 NaN을 반환함)
"Live positive".charCodeAt("p"); // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt("pos"); // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt("p9"); // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt("p","o"); // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt("Live"); // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt("Live positive rrr") // L = 76(정상적인 결과값이 아님)
"Live positive".charCodeAt(0); // L = 76
"Live positive".charCodeAt(4); // p = 32(띄여쓰기 무시)
"Live positive".charCodeAt(10); // i = 105
"Live positive".charCodeAt(20); // NaN
"Live positive".charCodeAt(-4); // NaN
"Live positive".charCodeAt(-10); // NaN
"Live positive".charCodeAt(-20); // NaN
}
04. codePointAt()
"문자열".codePointAt(위치값)
- 문자열에서 인덱스에 대한 유니코드 포인트 값이 아닌 정수를 반환하빈다.
- 주어진 인덱스 위치의 코드 포인트를 반환하며 이모지까지도 정확하고 올바르게 잔환할수 있습니다.
{
"Live positive".codePointAt("3"); // e = 101
"Live positive".codePointAt("6"); // o = 111(띄여쓰기 무시)
"Live positive".codePointAt("10"); // i = 105
"Live positive".codePointAt("20"); // undefined(아무것도 안나오지만 undefined를 출력한 것임)
"Live positive".codePointAt("-3"); // undefined (음수 인덱스는 받을 수 없어 undefined가 출력됨)
"Live positive".codePointAt("-6"); // undefined
"Live positive".codePointAt("-10"); // undefined
"Live positive".codePointAt("-20"); // undefined
"Live positive".codePointAt("e"); // L = 76(정상적인 결과값이 아님/다른 브라우저에서는 원래라면 undefined을 반환함)
"Live positive".codePointAt("p"); // L = 76(정상적인 결과값이 아님)
"Live positive".codePointAt("pos"); // L = 76(정상적인 결과값이 아님)
"Live positive".codePointAt("p9"); // L = 76(정상적인 결과값이 아님)
"Live positive".codePointAt("p","o"); // L = 76(정상적인 결과값이 아님)
"Live positive".codePointAt("Live"); // L = 76(정상적인 결과값이 아님)
"Live positive".codePointAt("Live positive rrr") // L = 76(정상적인 결과값이 아님)
"🤔".charPointAt("🤔") // 1293000
"Live positive".codePointAt(0); // L = 76
"Live positive".codePointAt(4); // p = 32(띄여쓰기 무시)
"Live positive".codePointAt(10); // i = 105
"Live positive".codePointAt(20); // undefined
"Live positive".codePointAt(-4); // undefined
"Live positive".codePointAt(-10); // undefined
"Live positive".codePointAt(-20); // undefined
}
05. concat()
"문자열".concat('원하는 문자열', 매개변수)
- 문자열이나 배열을 이어붙이는 역할을 합니다.
- 기존의 문자열이나 배열을 수정하지 않고 새로운 문자열이나 배열을 반환합니다.
{
const str1 = 'Live';
const str2 = 'positive';
const str3 = str1.concat(' ',str2);
console.log(str3); // Live positive
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = arr1.concat(arr2);
console.log(arr3); // [1, 2, 3, 4, 5, 6]
}
06. includes()
"문자열".indexOf(검색값, [위치값])
- 문자열 포함 여부를 검색하여, 불린(true, false)을 반환합니다.
- 대소문자를 구별합니다.
{
"javascript reference".includes("javascript"); //true
"javascript reference".includes("j"); //true
"javascript reference".includes("J"); //false
"javascript reference".includes("a"); //true
"javascript reference".includes("reference"); //true
"javascript reference".includes("reference", 11); //true
"javascript reference".includes("reference", 12); //false
}
07. indexOf()
"문자열".indexOf(검색값, [위치값])
- 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
- 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
- 대소문자를 구별합니다.
{
"javascript reference".indexOf("javascript"); // 0
"javascript reference".indexOf("javascripts"); // -1
"javascript reference".indexOf("j"); // 0
"javascript reference".indexOf("J"); // -1
"javascript reference".indexOf("a"); // 1
"javascript reference".indexOf("ja"); // 0
"javascript reference".indexOf("jv"); // -1
"javascript reference".indexOf("reference") // 11
"javascript reference".indexOf("r"); // 6
"javascript reference".indexOf("re"); // 11
"javascript reference".indexOf("javascript", 0); // 0
"javascript reference".indexOf("javascript", 1); // -1
"javascript reference".indexOf("reference", 0); // 11
"javascript reference".indexOf("reference", 11); // 11
"javascript reference".indexOf("reference", 12); // -1
"javascript reference".indexOf("r", 7); // 11
"javascript reference".indexOf("r", 12); // 15
}
08. lastIndexOf()
"문자열".lastIndexOf(검색값, [위치값])
- 문자열을 역순으로 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
- 문자열을 역순으로 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
- 대소문자를 구별합니다.
{
"javascript reference".lastIndexOf("javascript"); //0
"javascript reference".lastIndexOf("javascripts"); //-1
"javascript reference".lastIndexOf("j"); //0
"javascript reference".lastIndexOf("a"); //3
"javascript reference".lastIndexOf("jv"); //-1
"javascript reference".lastIndexOf("reference"); //11
"javascript reference".lastIndexOf("r"); //15
}
09. localeCompare()
"기준 문자열".localeCompare(위치를 찾고자 하는 문자열)
- 참조조문자열이 정렬 순으로 지정딘 문자열 앞 혹은 뒤에 오는지 또는 동일한 문자열인지 나타내는 숫치를 반환
- 앞에 있으면 -1 뒤에 있으면 1 동일한 위치(같은 변수)면 0
{
const str1 = 'Live';
const str2 = 'positive';
const str3 = 'javascript';
console.log(str1.localeCompare(str2)); // -1
console.log(str2.localeCompare(str1)); // 1
console.log(str2.localeCompare(str3)); // 1
console.log(str3.localeCompare(str2)); // -1
console.log(str1.localeCompare(str1)); // 0
console.log(str1.localeCompare(str3)); // 1
}
10. match()
"문자열".match(검색값)
"문자열".match(정규식표현)
"문자열".match(정규식표현)
- 문자열(정규식을) 검색하고, 문자값(배열)을 반환합니다.
- 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 null을 반환합니다.
- 대소문자를 구별합니다.
- match() 메서드는 문자값(배열)을 반환하고, search() 메서드는 위치값(숫자)를 반환하는 것이 다릅니다.
{
"javascript reference".match("javascript"); //"javascript"
"javascript reference".match("reference"); //"reference"
"javascript reference".match("r"); //"r"
"javascript reference".match("R"); //null
"javascript reference".match(/reference/); //reference
"javascript reference".match(/Reference/); //null
"javascript reference".match(/Reference/i); //reference
"javascript reference".match(/Reference/g); //null
"javascript reference".match(/r/); //r
"javascript reference".match(/r/g); //r r r
"javascript reference".match(/w/g); //null
}
12. normalize()
"문자열".normalize(정규식표현)
- 주어진 문자열을 유니코드 정규화 방식에 따라 정규화된 형태로 반환합니다.
- 주어진 값이 문자열이 아닌 경우에는 문자열로 변환후 정규화를 합니다.
- NFC(normalization form C): 정준 분해를 수행한 후 재결합하여 정규화된 문자열을 반환합니다.
- NFD(normalization form D): 정준 분해만 수행한 후 반환합니다.
- NFKC(normalization form KC): NFC와 비슷하게 동작하지만, 호환성 문자를 정규화합니다.
- NFKD(normalization form KD): NFD와 비슷하게 동작하지만, 호환성 문자를 정규화합니다.
{
const str = 'Live';
console.log(str.normalize()); // Live
console.log(str.normalize('NFC')); // Live (어째서? 이게 맞나?)
console.log(str.normalize('NFD')); // Live
console.log(str.normalize('NFKC')); // Live
console.log(str.normalize('NFKD')); // Live
}
13. padEnd()
"문자열".padEnd(매개변수,'추가하고자하는 문자열')
- 현재 문자열에 다른 문자열을 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다.
- 채워넣기는 대상 문자열의 끝(우측)부터 적용됩니다.
- 기존 문자열 길이 + 남는 자리
{
const str = 'Live';
console.log(str.padEnd(1)); // 'Live'
console.log(str.padEnd(5)); // 'Live '
console.log(str.padEnd(10)); // 'Live '
console.log(str.padEnd(1,'?')); // 'Live'
console.log(str.padEnd(5,'?')); // 'Live?'
console.log(str.padEnd(10,'?')); // 'Live??????'
console.log(str.padEnd(-1)); // 'Live'
console.log(str.padEnd(-5)); // 'Live'
console.log(str.padEnd(-10)); // 'Live'
console.log(str.padEnd(-1,'?')); // 'Live'
console.log(str.padEnd(-5,'?')); // 'Live'
console.log(str.padEnd(-10,'?')); // 'Live'
}
14. padStart()
"문자열".padStart(매개변수,'추가하고자하는 문자열')
- 현재 문자열에 다른 문자열을 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다.
- 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
- 기존 문자열 길이 + 남는 자리
{
const str = 'Live';
console.log(str.padStart(1)); // 'Live'
console.log(str.padStart(5)); // ' Live'
console.log(str.padStart(10)); // ' Live'
console.log(str.padStart(1,'?')); // 'Live'
console.log(str.padStart(5,'?')); // '?Live'
console.log(str.padStart(10,'?')); // '??????Live'
console.log(str.padStart(-1)); // 'Live'
console.log(str.padStart(-5)); // 'Live'
console.log(str.padStart(-10)); // 'Live'
console.log(str.padStart(-1,'?')); // 'Live'
console.log(str.padStart(-5,'?')); // 'Live'
console.log(str.padStart(-10,'?')); // 'Live'
}
15. repeat()
"문자열".repeat(매개변수,'추가하고자하는 문자열')
- 문자열을 주어진 횟수마큼 반복해 새로운 문자열을 반환합니다.
- 하나의 매개변수를 받으며 이 매개변수는 반복할 횟수를 나타내며 0이상의 정수여야합니다.
{
cconst str = 'Live';
console.log(str.repeat(1)); // 'Live'
console.log(str.repeat(5)); // ' LiveLiveLiveLiveLive'
console.log(str.repeat(10)); // 'LiveLiveLiveLiveLiveLiveLiveLiveLiveLive'
console.log(str.repeat(1,'?')); // 'Live'
console.log(str.repeat(5,'?')); // 'LiveLiveLiveLiveLive'
console.log(str.repeat(10,'?')); // 'LiveLiveLiveLiveLiveLiveLiveLiveLiveLive'
// console.log(str.repeat(-1)); // ERROR(음수이기때문에)
}
18. search()
"문자열".search(검색값)
"문자열".search(정규식표현)
"문자열".search(정규식표현)
- 문자열(정규식을) 검색하고, 위치값(숫자)을 반환합니다.
- 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
- 대소문자를 구별합니다.
{
"javascript reference".search("javascript"); //0
"javascript reference".search("reference"); //11
"javascript reference".search("r"); //6
"javascript reference".search("a"); //1
"javascript reference".search("jv"); //-1
"javascript reference".search("J"); //-1
"javascript reference".search(/reference/); //11 //정규식 표현을 썼음
"javascript reference".search(/Reference/); //-1
"javascript reference".search(/Reference/i); //11 //i가 소문자로 인식해줌 reference
"javascript reference".search(/[a-z]/g); //0
"자바스크립트".search(/[a-z]/g); //-1
}
19.slice()
"문자열".slice(시작위치,[끝나는 위치])
- 시작하는 위치에서 종료 위치 ㅣ값을 추출하여, 새로운 문자열을 반환합니다.
['j','a','v','a','s','c','r','i','p','t'].slice(0); // ['j','a','v','a','s','c','r','i','p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(1); // ['a','v','a','s','c','r','i','p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(2); // ['v','a','s','c','r','i','p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(0, 1); // ['j']
['j','a','v','a','s','c','r','i','p','t'].slice(1, 2); // ['a']
['j','a','v','a','s','c','r','i','p','t'].slice(0, 2); // ['j','a']
['j','a','v','a','s','c','r','i','p','t'].slice(0, 3); // ['j','a','v']
['j','a','v','a','s','c','r','i','p','t'].slice(5, 10); // ['c','r','i','p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(5, -1); // ['c','r','i','p']
['j','a','v','a','s','c','r','i','p','t'].slice(5, -2); // ['c','r','i']
['j','a','v','a','s','c','r','i','p','t'].slice(-1); // ['t']
['j','a','v','a','s','c','r','i','p','t'].slice(-2); // ['p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(-2); // ['i','p','t']
['j','a','v','a','s','c','r','i','p','t'].slice(-3, -1) // ['i','p']
['j','a','v','a','s','c','r','i','p','t'].slice(-3, -2) // ['i']
['j','a','v','a','s','c','r','i','p','t'].slice(-3, -4) // X
"javascript".slice(0); //javascript
"javascript".slice(1); //avascript
"javascript".slice(2); //vascript
"javascript".slice(0,1); //j
"javascript".slice(1,2); //a
"javascript".slice(0,2); //ja
"javascript".slice(0,3); //jav
"javascript".slice(5,10); //cript
"javascript".slice(5,-1); //crip
"javascript".slice(5,-2); //cri
"javascript".slice(-1); //t
"javascript".slice(-2); //pt
"javascript".slice(-3); //ipt
"javascript".slice(-3,-1); //ip
"javascript".slice(-3,-2); //i
console.log("javascript".slice(0));
22.split()
"문자열".split(구분자, [제한])
- 구분자를 이용하여, 여러개의 문자열(배열)을 반환합니다.
"javascript".split(""); //['j','a','v','a','s','c','r','i','p','t']
"java script".split(""); //['java','script']
"java scr ipt".split(""); //['java','scr','ipt']
"javascript".split("" ,1); //['j']
"javascript".split("" ,2); //['j','a']
"javascript".split("" ,3); //['j','a','v']
"java script".split("" ,1); //['java']
"java script".split("" ,2); //['java','script']
"javascript".split("j"); //['','avascript']
"javascript".split("a"); //['j','v','script']
"javascript".split("e"); //['javascript']
"java/scr/ipt".split("/"); //['java','scr','ipt']
"java&scr!ipt".split("&"); //['java','scr!ipt']
"java&scr!ipt".split("!"); //['javascr','ipt']
"java&scr!ipt".split(/&|\!/); //['java','scr','ipt']
"javascript".split("").join() //j,a,v,a,s,c,r,i,p,t
"javascript".split("").join("*") //j*a*v*a*s*c*r*i*p*t
"javascript".split("").reverse().join() //t,p,i,r,c,s,a,v,a,j(리버스는 배열에서만 사용 가능합니다. 그렇기 때문에 리버스가 조인 뒤로 올수 없습니다.)
"javascript".split("").reverse().join("/") //t/p/i/r/c/s/a/v/a/j
console.log("javascript".split("").reverse().join());
30.trim()
"문자열"..trim()
- 문자열의 앞/뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
"javascript".trim(""); //javascript
"javascript ".trim(""); //javascript
" javascript".trim(""); //javascript
" java script".trim(""); //java script
console.log("javascript".trim(""));
31.trimend()
"문자열"..trim()
- 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
" javascript ".trimStart(""); //javascript
console.log("javascript".trimStart(""));
32.trimstart()
"문자열"..trim()
- 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
" javascript ".trimEnd(""); //javascript
console.log("javascript".trimEnd(""));