데이터를 다룰 수 있는 상세한 명령들.
그 중에 문자 데이터부터 배우겠다~!
이 js 프로그래밍 언어를 통해 웹사이트를 만드는 방법은 나중에 react를 학습할 때 충분히 알아갈 예정임.
구글에 string mdn이라고 검색을 해보면
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String
문자열이란 문자 데이터를 의미하고, 생성자라는 건 이런 방식 new string() => ""
원래 이래야 하는 반면에 특정 기호를 통해 데이터를 손쉽게 만드는 방식을 리터럴 방식이라고 한다. 큰따옴표("")나 작은 따옴표('') 백틱(``), 중괄호{ }를 사용해서 만드는 방식. 그 방식이 아니면 new 라는 키워드를 통해 각각의 전역 객체들로 데이터를 생성해줘야 한다.
중요하게 배울 건 바로 String이라는 전역객체를 통해서 동작시킬 수 있는 명령들.
indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.
여기에서 스트링 객체란 곧 paragraph고, 주어진 값은 인수로 사용된 dog, 첫번째 인덱스는 알파벳을 제로베이스드 순번으로 계산해서 dog와 일치하는 순번의 값을 반환한다는 것.
프로토타입을 통해 지정한 메소드는 메모리에 딱 한번만 만들어지고 이는 생성자가 new라는 키워드로 만들어지는 인스턴스에서 언제든지 활용할 수 있다.
즉 new string() => "" 이런 형태의 문자 데이터에 직접적으로 indexOf라는 메소드를 사용할 수 있다.
이렇게 문자데이터 바로 뒤에 indexOf 메소드를 실행할 수 있음. 왜냐하면 new String이라는 생성자 함수 대신에 따옴표를 통해 리터럴 방식으로 데이터를 만든것이기 때문에. String.prototype으로 지정된 메소드는 언제 어디서나 문자 데이터 뒤쪽에 활용할 수 있다~!!!
그리고 인수로 world라는 값을 받아서 result라는 변수에 할당을 하고 콘솔로그로 출력해본 것. 6이 나온다.
만약 일치하는 겂이 없으면 -1을 반환한다.
mdn문서는 공식문서에 가까우니 참고하면 좋다.
string객체의 properties에 length라는 속성이 있는데, 이렇게 사용할 수 있다. 문자데이터 안의 글자가 length, 즉 총 몇개인지를 이 속성으로 알아낼 수 있다.
마찬가지로 length라는 속성은 string객체의 prototype으로 만들어져있기 때문에 문자 데이터 뒤에 바로 붙일 수 있음
console.log('0123'.length) 이렇게.
띄어쓰기도 하나의 문자로 계산됨
이번에는 indexOf로 world라는 단어가 들어있는지 확인해보려고 함. 특정 숫자가 나오는 걸 보니 들어있는군. -1이 나오면 존재하지 않는 것!
존재의 유무를 불린데이터로 받으려면 불일치 연산자(비교연산자)를 통해 이렇게도 작성할 수 있음. 오.. HEROPY가 없으니까 -1인데, 불일치 연산자에서 같은 값이니까 false가 나옴.
이번에는 slice라는 메소드.
숫자 데이터로 두개가 사용됨. 오옹 첫번째 인수에서 시작해서 두번째 인수 직전에 잘라낸다는 뜻이구나.
갸아악 대체도 할 수 있네... 첫번째 인수에 해당하는 문자를 찾아서 두번째 인수에 해당하는 내용으로 교체를 해준다.
특정 문자를 제거할 때에도 사용할 수 있다. 이렇게!
두번째 인수를 빈 문자로 작성하면 됨.
이메일 부분에서 골뱅이 뒤에는 제거하고 아이디만 추출하려면?
match부분에 정규표현식(RegExp)을 도입해서 사용해볼 수 있음. 인수로 슬래시기호(//)를 두번 넣고, 그 사이에 들어가서 .+(?=@)를 넣는다.
그럼 콘솔창에 배열 데이터가 출력이 되는데, 배열데이터의 첫번째 아이템으로 딱 원했던 아이디만 추출이 되었음.
그니까 그 메소드 뒤에 대괄호넣고 0번째 배열 아이템을 활용하겠다고 하면, 원했던 내용만 콘솔에 출력됨.
match라는 메소드는 정규표현식을 통해 특정 문자를 match, 즉 일치시킬 수 있고 이를 배열데이터로 반환하니까, 그 배열데이터에서 우리가 원하는 데이터를 추출할 수 있다.
설명하면 정규표현식을 통해 @앞쪽에 있는 데이터를 추출한 것임.
문자열에 공백들이 있고 이를 그대로 출력하면 공백이 존재하는 채로 출력이 되는데, trim 메소드를 작성하고 별도 인수는 없음.
그러면 공백이 사라져서 출력된다. 앞과 뒤의 모든 공백 문자를 제거해줌.