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>