자바스크립트의 ES5기반으로 한 기본 개념들입니다.
공부했던 내용을 정리하는 용도로 오류가 있을 수 있습니다.
재배포 수정하지 마세요.
String 오브젝트
문자열 오브젝트, 문자를 제어하는 다양한 함수와 프로퍼티를 가지고 있다.
문자열 연결
var apple = "123" + "water" +
"멜론";
console.log(apple); //123water멜론
+로 문자열을 연결하거나 역 슬래쉬(\)로 문자열을 연결할 수 있다. 줄 바꿈이 되었더라도 문장이 아래줄에서 끝난다면 연결이 된다.
String
console.log(""+123); //123
console.log(typeof (""+123)); //string
console.log(String(123)); //123
console.log(typeof String(123)); //string
파라미터 값을 String타입으로 변환하여 반환한다.
값을 작성하지 않으면 빈 문자열을 반환한다.
new String( )
console.log(new String(123)); //String {"123"}
console.log(typeof new String(123)); //object
console.log(new String(123).valueOf()); //123
String 인스턴스를 생성하여 반환한다.
String()과 같이 파라미터 값을 String타입으로 변환하고 파라미터 값이 프리미티브 값이 된다.
valueOf( ) : 인스턴스의 프리미티브 값을 반환하는 함수이다.
length 프로퍼티 length property
var value = "lemon";
console.log(value.length); //5
for (var i = 0; i < value.length; i++) {
console.log(value[i]);
}; //l //e //m //o //n
문자수를 반환한다. length 값이 반환된다.
trim( )
var value1 = " apple ";
console.log(value1.length); //11
console.log(value1.trim().length); //5
var value2 = "lemon";
var instanse = new String("lemon");
문자열 앞뒤의 화이트 스페이스를 삭제한다.
toString( )
var value = 123;
var result = value.toString();
console.log(typeof result); //string
var value = "abc";
var result = value.toString();
console.log(typeof result);
var result = toString(123);
console.log(result); //Object undefined
데이터 위치의 값으르 String타입으로 변환한다.
charAt( )
var a = "apple";
console.log(a.charAt(3)); //l
console.log(a[3]); //l
console.log(a.charAt(6)); // (빈 문자열)
console.log(a[6]); //undefined (es6)
인덱스의 문자를 반환한다.
문자열의 길이가 인덱스보다 크면 빈 문자열을 반환한다. 또한 존자 해지 않으면 undefined로 반환한다.
indexOf( )
var b = "pineapple";
console.log(b.indexOf("p")); //0
console.log(b.indexOf("p",3)); //5
console.log(b.indexOf("p",-1)); //0
console.log(b.indexOf("p","N")); //0
console.log(b.indexOf("c")); //-1
데이터 위치의 문자열에서 파라미터의 문자와 같은 첫번째 인덱스를 반환한다. 왼쪽에서 오른쪽을 검색을 하고 두 번째 파라미터를 작성하면 작성한 인덱스부터 검색한다. 같은 문자가 없다면 -1을 반환한다.
만약 두번재 파라미터가 음수라면 디폴트 값인 0부터 검색을 시작한다.
lastIndexOf( )
var b = "pineapple";
console.log(b.lastIndexOf("p")); //6
console.log(b.lastIndexOf("p",3)); //0
console.log(b.lastIndexOf("p",-3)); //0
console.log(b.lastIndexOf("c")); //-1
indexOf() 와 마찬가지로 데이터 위치의 문자열에서 파라미터의 문자와 같은 인덱스를 반환한다. 단 뒤에서 앞으로 검색한다. 두 번째 파라미터를 작성하면 작성한 인덱스부터 검색하고 파라미터가 음수라면 0을 입력한 것과 동일하게 나타난다.
concat( )
var fruit = "apple";
console.log(fruit.concat("is",300)); //appleis300
console.log("melon".concat("is",300,"clap")); //melonis300clap
var number = new String(1234);
console.log(number.concat("clap")); //1234clap
데이터 위치의 값에 파라미터 값을 순서대로 연결하여 문자열로 반환한다. String 인스턴스를 작성하면 프리미티브값을 연결한다.
toLowerCase( ), toUpperCase( )
console.log("victory".toUpperCase()); //VICTORY
console.log("VICTORY".toLowerCase()); //victory
toLowerCase( ) : string 대문자를 소문자로 바꾼다.
toUpperCase( ) : string 소문자를 대문자로 바꾼다.
substring( ), substr( ), slice( )
var summerfruit = "watermelon";
console.log(summerfruit.substring(3)); //ermelon
console.log(summerfruit.substring(3, 7)); //erme
console.log(summerfruit.substr(3)); //ermelon
console.log(summerfruit.substr(3, 2)); //er
console.log(summerfruit.slice(2, 5)); //ter
substring() : 파라미터의 시작 인덱스부터 끝인 덱스 직전까지 반환한다. 두번째 파라미터를 작성하지 않으면 끝까지 반환한다.
substr() : 파라미터의 시작인덱스부터 지정한 문자 개수만큼 반환한다. 첫 번째 파라미터 값이 음수이면 length를 더해서 시작 인덱스로 사용한다. 두 번째 파라미터를 반환하지 않으면 끝까지 반환한다.
slice() : 파라미터의 시작인덱스부터 끝 인덱스 직전까지 반환한다. 첫 번째 값을 작성하지 않거나 NaN이면 0으로 간주한다. 두 번째 파라미터를 작성하지 않으면 length를 사용하고 값이 음수이면 length값을 더해서 사용한다.
match(), replace(), search(), split()
var sports = "basket-ball";
console.log(sports.match(/k/)); //k
console.log(sports.match("ke")); //ke
console.log(sports.match("kE")); //null
console.log(sports.replace(/ket/,"e")); //base-ball
console.log(sports.replace('ket',"e")); //base-ball
console.log(sports.replace('KEt',"e")); //basket-ball
console.log(sports.search(/k/)); //3
console.log(sports.search('k')); //3
console.log(sports.search(1)); //-1
console.log(sports.split('-')); //["basket", "ball"]
console.log(sports.split('')); //["b","a","s","k","e","-","t","b","a","l","l"]
console.log(sports.split('-', 1)); //["basket"] 반환수
console.log(sports.split('-', 2)); //["basket", "ball"]
- match() : 정규식 객체, 문자열이 정규식과 매치되는 부분을 검색한다. 문자열이 정규식과 일치하면, 일치하는 문자를 반환한다. 일치하는 것이 없으면 null이 반환되고 파라미터를 작성하지 않으면 빈 문자열[""]이 반환된다.
- replace() : 정규표현식이 매치되는 결과를 두번째 파라미터에 작성한 값으로 대체한다. 만약 두 번째 파라미터에서 함수를 사용한다면 함수를 실행시키고 난 후 반환 값을 사용한다.
- search() : 검색된 첫번째 인덱스를 반환한다. 매치되지 않으면 -1을 반환한다.
- split() : 문자열중 끊어야 할 부분을 나타내는 문자열을 나타낸다. 나누어져 끊어진 부분들만 배열에 담겨 반환된다. 두 번째 파라미터에 반환될 개수를 넣어서 앞에서부터 시작해서 그만큼의 개수만 배열로 반환할 수 있다. 만약 끊어야 할 문자를 빈 문자열로 지정하면 각각의 문자가 모두 배열의 원소로 하나씩 저장되어 반환된다.
charCodeAt( ), fromCharCode( ), localeCompare( )
var hobby = "sk8tE"
console.log(hobby.charCodeAt()); //115
console.log(hobby.charCodeAt(2)); //56
console.log(hobby.charCodeAt(8)); //NaN
console.log(String.fromCharCode(8,115,56)); //s8
var i = "B"
console.log(i.localeCompare("A")); //1
console.log(i.localeCompare("B")); //0
console.log(i.localeCompare("C")); //-1
- charCodeAt() : 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환한다. 주어진 인덱스가 문자의 길이보다 길 경우 NaN를 반환한다.
- fromCharCode() : 유니코드를 문자열로 해석해 반환한다. 작성하지 안ㅎ으면 빈 문자열을 반환한다.
- localeCompare() : 해당 문자열의 해당하는 유니코드를 비교하여 위치를 값으로 나타낸다(유니코드 사전 순). 유니코드가 앞이면 1을 뒤면 -1을 반환하고 같다면 0을 반환한다.
'웹개발 > javascript' 카테고리의 다른 글
자바스크립트 Boolean 오브젝트 (0) | 2020.07.28 |
---|---|
자바스크립트 Object 오브젝트 (0) | 2020.07.28 |
자바스크립트 Number 오브젝트 (0) | 2020.07.27 |
자바스크립트 내장 객체 Built-in Object (0) | 2020.07.27 |
자바스크립트 함수 & 프로퍼티 Function & Property (0) | 2020.07.26 |