문자열 관련 메소드는 모두 immutable 입니다.
원본이 변하지 않는 것이 immutable 원본이 변하는 것이 mutable 입니다.
문자열과 관련된 모든 메소드는 immutable 입니다.
var str = 'dreammaker';
console.log(str[0]); // d
console.log(str[4]); // m
console.log(str[10]); // undefined
str[0] = 'g';
console.log(str); // 'dreammaker' not 'greammaker' 문자열은 안바뀜..배열일때는 바뀐다.
//문자열 사용시
var str1 = '1';
console.log(str1+7); //17
//length 해당 문자의 길이를 출력하는 메소드
console.log(str.length); // 10
//indexOf 해당하는 문자열의 위치를 찾는 메소드
console.log(str.indexOf('m')); //4
console.log(str.indexOf('i')); // -1 없는 경우엔 -1를 출력하게 된다.
//includes 메소드 해당 문자열이 있으면 true 없으면 false 를 출력함 IE와 같은 구형 브라우저에서는 작동하지 않음.
console.log(str.includes('d')); // true
console.log(str.includes('i')); // false
//split(seperator) seperator기준으로 문자열을 나눈다.
var str = 'hello from the other size';
console.log(str.split(' '));
// ['hello', 'from', 'the', 'other' , 'size' ]
//substring 메소드 문자열의 시작과 끝을 지정해서 문자를 보여줌. index 범위를 넘는 것을 적을 경우 마지막 index로 취급
var str = 'hellostudio';
str.subString(0,3); // 'hel'
//substring과 slice의 자세한 차이점은 뒤에 알아보기로 .. 비슷하다.
//toLowerCase 는 소문자로 변환 toUpperCase 는 대문자로 변환
//trim 맨앞과 맨뒤의 공백제거
var greeting = ' Hello world! ';
console.log(greeting); // expected output: " Hello world! ";
console.log(greeting.trim());// expected output: "Hello world!";
//match
var str = 'For more information, see Chapter 3.4.5.1';
var re = /see (chapter \d+(\.\d)*)/i;
var found = str.match(re); console.log(found);
// logs [ 'see Chapter 3.4.5.1',
// 'Chapter 3.4.5.1',
// '.1',
// index: 22,
// input: 'For more information, see Chapter 3.4.5.1' ]
// 'see Chapter 3.4.5.1'는 완전한 매치 상태임.
// 'Chapter 3.4.5.1'는 '(chapter \d+(\.\d)*)' 부분에 의해 발견된 것임.
// '.1' 는 '(\.\d)'를 통해 매치된 마지막 값임.
// 'index' 요소가 (22)라는 것은 0에서부터 셀 때 22번째 위치부터 완전 매치된 문자열이 나타남을 의미함.
// 'input' 요소는 입력된 원래 문자열을 나타냄.
// replace(a,b) a문자열이 있는 곳 여러개가 있다면 첫번째에 있는 곳에 b문자열로 바뀜 여러개가 있을경우 하나만 바뀐다.
//replaceAll 처럼 사용하는 꿀팁 gi로 감싸기
str.replace(/a/gi,'s') // a라는 문자열을 s라는 문자열로 다바꾸기.
'프로그래밍 언어 > javascript' 카테고리의 다른 글
JSON과 관련된 메소드 정리... (0) | 2019.10.22 |
---|---|
javascript 배열 관련 메소드 정리 (0) | 2019.09.07 |
수학공식을 javascipt로 만들어보기 (0) | 2019.09.02 |
이미지 중앙정렬 css적용 방법 (0) | 2019.02.08 |
페이지 로드 후 실행하는 함수.. (0) | 2019.02.08 |