document.write(’내용’);
: HTML문서 내부에 출력(태그를 요소로 선택한 변수).innerText = ‘내용’;
: HTML 요소의 내용 변경(태그를 요소로 선택한 변수).innerHTML = ‘내용’;
: HTML 요소의 HTML코드 변경console.log(’내용’);
: 개발자 도구의 콘솔창에 출력console.info(’정보’)
: 개발자 도구의 콘솔창에 출력alert(’내용’);
: 팝업 경고창으로 출력innerText와 innerHTML
<p class="my-class">원래 내용</p>
element가 위의 p태그 요소라면,
element.innerText = "새로운 내용"
는 '원래 내용'을 '새로운 내용'으로 변경
element.innerHTML = "<p class='my-class' color='red'>새로운 HTML코드</p>"
는 시작태그부터 끝태그까지 요소 전체를 변경
prompt(’메시지’[,’입력내용 기본값’]);
: 입력창으로 입력var name = prompt("이름을 입력하세요", "홍길동");
var age = prompt("나이를 입력하세요");
confirm(’메시지’);
: 확인/취소를 통한 입력var result = confirm("정말로 삭제하시겠습니까?");
var 변수명 = 값;
변수 선언 : var, let, const 키워드 사용
변수 할당 : 등호(=) 키워드 이용하여 변수에 값 할당
변수명 규칙
변수 재선언과 재할당
var | let | const | |
---|---|---|---|
재선언 | 가능 | 불가능 | 불가능 |
재할당 | 가능 | 가능 | 불가능 |
var x=1; var x=2;
var x=1; x=2;
let과 const는 같은 스코프 내에서 변수를 재선언할 수 없음. 이는 변수 이름 충돌로 인한 오류를 방지하고 프로그램의 안정성을 높이는 데 도움이 됨!!
var는 되도록 사용 안하기!
예시 : 점심 메뉴 추천받기
let lunch = prompt('오늘 점심 뭐 먹을래요?');
// prompt로 입력받은 내용을 문자열로 lunch변수에 저장
document.write('저도 ' + lunch + ' 좋아해요');
// 문자열이나 변수들을 이어서 출력할 때 + 이용
자바스크립트는 동적 타입 언어로, 변수에 할당되는 값에 따라 자료형이 동적으로 결정된다.
자료형은 원시 타입과 참조 타입으로 나뉜다.
: 쪼갤 수 없는 자료형
Number (숫자형) : 정수와 부동소수점 숫자를 나타냄
String (문자열) : 문자들의 시퀀스를 나타냄, 작은 따옴표나 큰 따옴표로 묶어서 표현
Boolean (논리형) : true/false으로 표현
undefined : 값이 할당된 적 없거나 존재하지 않는 속성
null : 아무런 값을 나타내지 않을 때 (ex. 공백일 때)
NaN : Not a Number, 주로 수치 연산에서 유효하지 않은 결과를 나타내기 위해 사용
NaN == NaN; //false
NaN === NaN; //false
isNaN(NaN); //true
Symbol (심볼) : 유일(Unique)하고 변경 불가능한(Immutable) 값을 나타냄
// 심볼 생성
const symbol1 = Symbol();
const symbol2 = Symbol("mySymbol"); //설명으로 "mySymbol"을 포함한 심볼
// 심볼 사용 (주로 객체의 속성 이름으로 사용)
const obj = {
[symbol1]: "value 1",
[symbol2]: "value 2"
};
console.log(obj[symbol1]); // "value 1"
console.log(obj[symbol2]); // "value 2"
원시 타입 | 참조 타입 |
---|---|
변수에 값 자체가 저장 | 변수에 참조(메모리 주소)가 저장 |
변수 간의 할당 시 값이 복사됨 | 변수 간의 할당 시 참조가 복사되어 같은 객체를 참조 |
불면(Immutable), 값 수정 불가능 | 가변(Mutable), 속성 추가/수정 가능 |
typeof(변수)
: 변수 자료형 확인parseInt(문자)
: 문자 → 정수parseFloat(문자)
: 문자 → 실수Number(문자)
: 문자 → 숫자String(숫자)
: 숫자 → 문자숫자.toString()
: 숫자 → 문자let n1, n2;
n1 = Number(prompt('숫자1을 입력하세요.'));
n2 = Number(prompt('숫자2를 입력하세요.'));
document.write(`${n1}과 ${n2}의 합은 ${n1+n2}입니다.`);
isNaN() 함수
isNaN() 함수는 주어진 값이 NaN인지 여부를 판별하는 함수
- 숫자, 문자열인 숫자, null은 숫자로 변환될 수 있으므로 false 반환
- NaN자체, 숫자 외 포함된 문자열, undefined는 숫자로 변환될 수 없으므로 true 반환
isNaN(NaN); //true isNaN(10); // false isNaN("Hello"); // true isNaN("123"); // false isNaN(undefined); // true isNaN(null); // false
+
(더하기), -
(빼기), /
(나누기), *
(곱하기), %
(나머지), ++
(피연산자 1증가), --
(피연산자 1감소)=
(대입), +=
, -=
, *=
, /=
, %=
+
(문자열 합치기)==
, ===
, !=
, !==
, <
, <=
, >
, >=
10 == ‘10’
⇒ true10 === ‘10’
⇒ false&&
(AND연산자), ||
(OR연산자), !
(NOT연산자)if문
if(조건식) {
참일 때 실행문;
}
if~else문
if(조건식) {
참일 때 실행문;
} else {
거짓일 때 실행문;
}
if~elif~else문
if(조건식1) {
조건식1이 참일 때 실행문;
} else if (조건식2) {
이전 조건식이 거짓이고, 조건식2가 참일 때 실행문;
} else {
이전 조건식들이 모두 거짓일 때 실행문;
}
삼항 조건 연산자 ? 이용
조건식 ? 참일때 실행문 : 거짓일때 실행문 ;
단축 평가 - && 이용
조건식 && 참일때 실행문;
조건대상과 값을 비교
switch (조건대상) {
case 값1 :
조건대상이 값1일 때 실행문;
break;
case 값2 :
조건대상이 값2일 때 실행문;
break;
default :
일치하는 값이 없을 때 기본으로 실행하는 실행문;
}
조건식으로 사용
switch (true) {
case 조건식1 :
조건식1이 참일 때 실행문;
break;
case 조건식2 :
조건식2 참일 때 실행문;
break;
default :
조건식들이 모두 거짓일 때 실행문;
}
사용자에게 나이를 입력받고,
공백이거나 숫자가 아니면 '숫자를 입력해주세요'를 출력,
0보다 작거나 120보다 많으면 '유효한 나이를 입력해주세요'를 출력하고,
그 외 나이를 잘 입력했다면
7세 미만이거나 65세 이상이면 버스요금은 0원,
청소년(7세 이상 20세 이하)의 버스요금은 720원,
그 외의 성인은 버스요금은 1200원 으로 버스요금 출력
<body>
<h1 id = "notice"><h1>
<script>
const notice = document.getElementById('notice');
let age = Number(prompt('나이를 입력하세요.'));
let fare;
if (isNaN(age) || age === null) {
notice.innerText = '숫자를입력해 주세요';
} else if ((age < 0) || (age > 120)) {
notice.innerText = '유효한 나이를 입력해주세요.';
} else {
if ((age >= 65) || (age < 7)) {
fare = 0;
} else if ((age >= 7) && (age<=20)) {
fare = 720;
} else {
fare = 1200;
}
notice.innerText = `요금은 ${fare}원 입니다.`;
}
</script>
</body>
for (초기값; 조건식; 증감식) {
조건식이 참일 동안 반복할 실행문;
}
for (변수 of 배열) {
배열안의 요소만큼 반복할 실행문;
}
while(조건식) {
조건이 참일 때 반복할 실행문;
}
do {
일단 한번 실행하고 조건이 참일 때 반복할 실행문;
} while(조건식)