[TIL]문자열에 대해

Violet Lee·2020년 8월 1일
0

javascript

목록 보기
3/24

문자열 리터럴의 형식

  • 문자열의 값을 따옴표로 감싸준다.
  • 단일문자또한 가능하다.
  • 객체를 배울때에도 그렇지만, (ex)obj[str]의 경우) 모든 문자열은
  1. ''(따옴표), ""(쌍따)로 묶지 않고,(두 문자 구분 js에선 안함.)
  2. 값을 정의하지 않은 경우,
    변수/속성 이름과 유사하다고 간주하여, [변수]로 취급된다.
let str = '안녕하세요:)';

문자열 메소드

  • 모든 메소드는 문자열 값으로 초기화된 변수를 사용하는게 좋다.
  • 실제 길이가 아닌 index의 기준으로 리턴된다.

ex)

      let str = 'Hello';

 
- 문자열의 길이 찾기 : str.length;

- 특정 문자열 찾기(ES5표기법) : str[0]; > 'e' /  str[str.length-1]; > 'o' (index는 0부터이므로 마지막순서의 글자를 찾으려면, length-1)
  (문자열을 배열과 같은 object로 취급하여 해당인덱스 얻는경우.)
   
- 문자열 중 특정 문자의 위치: str.indexOf('llo');
  ('llo'의 문자열 중 첫번째 글자의 위치는, 전체 'Hello'의 문자열 중 2번째 인덱스에 해당하므로 2를 반환.)

- 단일문자를 추출: 'Hello'.charAt(1); (= 'e')

- 특정 문자의 유니코드 구하기: str.charCodeAt(2);

- begin부터 end까지의 인덱스에 해당하는 문자열 추출: str.substring(0,2); //'Hel'
.
.
.
  • slice() 와 substring()의 차이는 조만간 다른 포스팅에서 다루겠다.

*새로운 문자열을 생성,반환하는 메소드

- begin부터 end까지의 인덱스에 해당하는 문자열 추출: str.slice(0,2); //'Hel'
   
- 매개변수 문자열을, 호출 문자열에 붙여 반환: str.concat(string2,string3,.. stringN);

- 문자열 내에 찾는 문자열이 있는지 확인: str.includes('blue'); //return false
.
.
.

문자열 변환 시.. JAVA와의 비교

ex)

let s_prim = "foo";
let s_obj = new String(s_prim);

console.log(typeof s_prim); // Logs "string"
console.log(typeof s_obj);  // Logs "object"

=> JS도, String 오브젝트원형의 문자열다르게 취급한다.

👆 그렇다면 위의 경우는 언제 쓰일까? 예제를 풀어보자~


- eval() :  !인자는 오직 문자열만! 
            문자열 안의 표현식이 '평가할 수 있는(true,숫자등 '값이 나오는 경우')
            명령문'인 경우, 실행한다.

ex)

var s1 = '2 + 2';               // 원형의 문자열을 반환.
var s2 = new String('2 + 2');   // 원형 문자열을 String형 오브젝트로 감싸줬다.
console.log(eval(s1)); // return 4
console.log(eval(s2)); //return '2 + 2'

=> 이렇게 한가지 타입을 여러 타입으로 변환해서 사용할 수 있다는것이다. 오브젝트화 시킨 값을 다시 원형으로 돌리고싶으면, valueOf()메소드를 쓰면 된다.

모든 내용은 계속해서 업데이트 됩니다.
초보 개발자 준비생이라 공부한 내용이 아직 많이 부족합니다.
언제든지 제 블로그의 글 내용에 대해 지적해주고, 의견 남겨주세요.
함께 성장합시다. :)

++ 와 드디어 문제를 풀면서 정리하고싶었던 세세한 method들을 정리했다.. 적어도 구글링하여 사용했던 메소드들은 까먹지 않는것이 나중에 프로젝트나 solo를 진행할때 시간을 절약할것 같아, 꼭 정리하고 싶었던 내용이었다. 물론 모든 속성을 정리한것이 아니니 공부노트에 불과하다.. 언제나 모든 포스트 마지막에 p.s. 로 붙는 글을 ↑ 보며 이해해주시길 🙏😅

++ Find Out
java나 다른 언어는 빈배열을 반환하지않고 바로 error를 발생시킬텐데, js는 빈 배열을 반환시키고 에러를 발생한다. 내가 잘못안걸수도 있지만 알아보자.

profile
예비개발자

0개의 댓글