-
묵혔다가 꺼내는 자바스크립트 - 문자열JS 2020. 9. 21. 22:45
1. 문자열은 배열이다?
문자열이 배열 처럼 되어있다는 것이 이해가 처음 자바스크립트를 배울때는 이해가 되지않았다.
자바를 공부할적엔 문자열타입을 배열처럼 사용할 수 없었기 때문이다.
자바스크립트에서 문자열은 문자를 배열로 놓은것과 같다고 보면 된다.
문자열이 정말 배열처럼 작동하는지 코드를 통해서 알아보자.
결과값이 "s"로 str변수의 첫번째 문자열이 콘솔을 통해서 출력이 되었다.
이러한 결과가 나온다면 이런 코드로 추측이 가능할 지도 모른다.
이렇게 val1과 val2의 값이 설정이 되었다. 맨처음의 결과만 보면 val1과 val2의 값이 완전히 같을 것만 같은 착각이 느껴진다.
하지만 val1과 val2가 같은지 콘솔을 통해서 알아보면 완전히 다르다고 한다.
왜 그럴까?? 같을것 같은데 다르다고한다 좀 더 알아보자.
이렇게 두 변수 모두 같은 함수도 가지고 있는데 다르다고 하지만 처음 배워본 typeof를 여기서 쓸 시간이 된거같다.
val1은 string을 val2는 object타입이라고 알려준다.
같은것같이 보이지만 val1.concat()은 string의 내장 함수이고, val2의 concat()은 Array객체의 내장함수였던 것이었다.
그러니깐 속은 까보니 다른거였던거다.
2. 문자열은 상수.
문자열이 상수라는 것은 어느 프로그래밍에서도 똑같은 것은 알고 있을 것이다.
위와같이 말이다.
a의 값을 toUpperCase()라는 함수를 실행하면 a의 값이 모두 대문자로 바뀌는 함수다.
대문자로 바뀌기만했지 영어 자체는 같지 않느냐? 라고 말한다면 프로그램 세상에서는 "아니다"라고 답변한다.
상수는 값이 바뀌지 않는 것으로 고정적인 것이다. "마치 1과 2와 같은가?"에 대한것처럼 말이다.
프로그램은 그렇게 낭만적으로 해석하지 않으니 주의하자.
3. 문자열 뒤집기
위에서 배운 것 만으로도 충분히 문자열 뒤집기를 함수로 만들을 수 있을 것이다.
직접 작성하여 실행이 되는지 시험해보자.
힌트를 주자면 들어오는 인자를 배열화시키는 것이다. (솔직히 힌트가 답의 50%를 준것이나 마찬가지이다.)
이렇게 만들면 문자열이 뒤집혀서 그대로 실행이 될 것이다.
이상 문자열에 대해서 간단히 복습해보았다.
'JS' 카테고리의 다른 글
묵혔다 꺼낸 JS - 박싱, 언박싱 (0) 2021.09.07 묵혔다가 꺼낸 JS - 특수한 값들(undefined, null, NaN, Infinity) (0) 2021.09.02 묵혔다가 꺼낸 JS - 숫자 (0) 2021.09.01 묵혔다가 꺼내는 자바스크립트 - 배열 (0) 2020.09.16 묵혔다가 꺼내는 자바스크립트 - typeof (0) 2020.09.14