문자열 관련 메소드
- .toUpperCase() : 전부 대문자로 바꿈
- .toLowerCase() : 전부 소문자로 바꿈
- .length (함수가 아니라 필드이므로 괄호가 없음)
- .charAt() : 제시한 인덱스에 있는 문자 하나만 반환
- .indexOf("l") - 앞에서부터 첫번째 l의 위치
- .lastIndexOf("l") - 뒤에서부터 첫번째 l의 위치
- indexOf와 lastIndexOf에서 해당 문자가 존재하지 않을 경우 -1을 반환함
- .substring(시작인덱스) : 시작인덱스에서 마지막 인덱스까지 출력
- .substring(시작,종료) : 시작인덱스에서 종료 인덱스 바로 앞까지 출력
- .split("구분자") - 문자를 구분자로 구분해서 배열에 담음 (자바스크립트 배열은 [])
- .join("구분자") - 문자 사이에 구분자를 넣고 배열을 하나의 문자열로 이어줌
const str2 = "사과, 바나나, 메론, 복숭아";
const fruits = str2.split(", ").join("||"); //사과||바나나||메론||복숭아
숫자 관련 메소드
- Math.abs() - 절대값
- Math.random() - 랜덤값, 0.0이상 1.0 미만의 숫자 반환
- Math.round() - 정수값으로 반올림
- Math.floor() - 소숫점 버림
- Math.ceil() - 소숫점 올림
- Math.sqrt() - 제곱근
- 거듭제곱 : **
문자와 숫자간의 산술연산
- 자바스크립트는 + 외의 산술연산이 가능함 (문자열이 자동형변환으로 숫자로 변환)
- 단 문자열에는 숫자만 존재해야함 (문자가 존재하면 NaN이 뜸)
let test1 = 7 + 7;// 14
let test2 = 7 + "7";// 77
let test3 = "7"+7; // 77
let test4 = 7 + 7 + "7"; // 147
// 그 외의 산술연산이 가능함.
let test5 = "7" * 7; //49
let test6 = "7" - 7; //0
let test7 = "7" / 7; //1
강제형변환(문자열->숫자형)
- Number(문자열) : 문자열을 숫자형으로
- -true와 false를 형변환 하면 1 / 0값이 반환됨 -null은 0, undefined는 NaN
- parseInt(문자열) : 문자열을 정수값으로
- parseFloat(문자열) : 문자열을 실수값으로
- 정수 연산 결과값은 모두 같음
- 하지만 실수 연산 결과 number와 parseInt만 소숫점 아래 값을 떨굼
- 문자열*1을 곱하는 방식으로도 숫자형으로 형변환 가능함
정수1 : <input type="number" id="num1"> <br>
정수2 : <input type="number" id="num2" value=""> <br>
<label id="result"></label> <br>
<button onclick="plus();">덧셈</button>
<script>
function plus(){
const num1 = document.getElementById("num1").value*1; // "10"
const num2 = document.getElementById("num2").value*1; // "20"
//모든 input태그 반환값은 모두 문자열
document.getElementById("result").innerHTML = "결과 : "+(num1+num2);
}
</script>
변수, 리터럴(값)-> boolean형으로 형변환 가능
- 값이 존재한다? true로 치환
- 123, -100, "안녕", new Date()(주소값), [i] 등등
- 값이 존재하지 않는다? false로 치환
- 0, 0.0," ",null, NaN, undefined, [] 등등