[TIL #6 WECODE] String

Whoyoung90·2021년 2월 20일
0
post-thumbnail

210220 WECODE #6

boolean 대체재 활용

let msg = "message";
if (msg) { true } //실행 (비어있지 않은 모든 문자열)

let number = 0;
if (number) { false } // 실행 안됨 (0)

핸드폰번호

0으로 시작하는 숫자 표현식은 없다. (초콜릿 012개 주세요?!)

그래서 핸드폰 번호는 숫자로 이루어져 있지만,
문자열로 관리해야 컴퓨터가 첫 숫자인 "0"도 갖고 있게 된다.

<script>
let phoneNumber = 01012345678;
console.log(phoneNumber); //1012345678
console.log(phoneNumber.length);  //undefined
</script>
  • Number형이라 앞의 0이 없이 뒷 숫자만 할당되었다.
  • Number형에는 length라는 속성이 없다.

그래서 핸드폰번호도 String형으로 저장해야합니다.
let phoneNumber = "01012349876";

indexOf(); 문자열 찾기

해당 문자열이 없다면 -1반환

문자 검색 기능 (다만!! 반환값이 열의 위치이다.)
댓글에 욕설이 포함되면 달지 못하도록 차단할 때 사용

<script>
let info = "JavaScript는 프로그민 언어이다.";
let firstChar = info.indexOf("프로그민"); //12가 "프"

if (firstChar !== -1) {  
  info = info.slice(0, firstChar) + "프로그래밍" + info.slice(firstChar+4, info.length); 
}
console.log(info);
</script>
  • if (firstChar !== -1) ㅡ 해당 문자열이 있다면(이중부정)
  • info.slice(0, firstChar) ㅡ "JavaScript는 "
  • info.slice(firstChar+4, info.length) ㅡ " 언어이다."

slice(start , ↓end) : end 직전에서 끊어줌!
slice(start, ↓info.length) : info.length 직전에서 끊어줌! -1번째! 결국 index끝까지 소환!!
info.length값이 22면 index값이 21 !

예시

  • sliceCityFromAddress 함수는 address 인자를 받습니다.
  • address 인자에는 주소를 나타내는 string이 주어집니다.
  • 주어진 주소가 어느 도시인지를 찾아내서, 해당 주소에서 도시 부분만 삭제한 새로운 주소를 리턴해 주세요.
  • 주소는 무조건 "시" 로 끝납니다. 예를 들어, "서울시"
  • "도" 와 "시" 는 주소에 한번 밖에 포함되어 있지 않습니다.
<script>
function sliceCityFromAddress(address) {
  let bigCity = address.indexOf("도");
  let city = address.indexOf("시");
  if(bigCity !== -1) {
   return address.slice(0, bigCity+1) + address.slice(bigCity+5, address.length);
  } else if(bigCity === -1){
   return address.slice(city+2, address.length);
  }
}
</script>
profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글