학습한 내용
JavaScript 기초/ 실습 - 제어문(조건문과 반복문)
문자열
- ""나 ''를 사용해서 묶어줌
- ""사이에 ""중복해서 사용하면 안 됨. 다른 따움표사용
ex) "this is "string"" > error
'this is "string"' > o
- 문자열 합칠 때는 + 사용
ex) "안녕" + "하세요" > '안녕 하세요'
- 인덱스를 가짐 ( 0 부터 시작)
ex) "안녕하세요"[0] >'안'
"안녕하세요"[1] >'녕'
- 길이 length ( 1부터 시작)
ex) "안녕하세요".length >5
= 연산자
- == 값이 같다
ex) 1==1 > true
- === 자료형이 같은지?
ex) 1===1 > true
1==="1" > false
- 1<=2 1이 2보다 작거나 같은지?
- 부등식에서는 하나만 사용(=)
! not이라는 느낌
- !true > false
- !false > true
- !(10===10) > false
- "kk".length >= 5 > false
- !("kk".length >= 5) > true
논리합, 곱
- || = or, && = and의미
- 하나만 쓰면 비트연산자가 됨 (주의)
ex)
true || true > true
true || false > true
false || true > true
false || false > false
true && true > true
true && false > false
false && true > false
false && false > false
- 양쪽이 같으면 true가 아니라, 양쪽이 다 true일때만 true다!
- 닫힌 범위를 나타낼 때는 and 열린 범위는 or
비교연산자
- x는 5이하이다. 를 나타내면 x <= 5
- x는 3초과이다 x > 3
- x는 3초과이거나 5이하이다 3 < x <= 5
- 자바스크립트에서는 오류남, 앞에꺼부터 계산하기 때문
- and연산자 사용
- => 3 < x && x <= 5
복합연산자
- i = j + 1 을 줄일 수 있다 j += 1
- -=, *=, /=, %= 다 가능.
증감연산자
- 증감 연산자는 덧셈이나 뺄샘을 간편하게 나타낼 수 있다.
- 후위 방식, 전위 방식이 있다.
a++ a-- 후위 방식
++a --a 전위 방식
실습1. num++

실습2. ++num

- 실습 1과 2, 즉 후위 방식과 전위방식의 차이는 실행순서이다.
- 후위 방식에서는 num을 먼저, 전위 방식에서는 ++을 먼저. 즉 다음과 같다.
alert(num++) > alert(num) > num = num +1
alert(++num) > num=num+1 > alert(num)
- 실행 순서의 차이가 있기에 상황에 맞게 사용해야 한다.
상수와 변수
- 상수는 항상 변하지 않는 같은 수의미로 한 번 값을 정하면 바꿀 수 없다.
- const(키워드) name(식별자) ="값"
- 에러 1. Identifier has a already declared
한 번 선언한 상수를 또 선언하면 에러가 난다.(콘솔창에는 에러 x)
const pi = 3.1415
const r =5 > 에러
- 에러 2. missing initializer in const declaration.
초기화하지 않았을 때(값을 할당해주지 않았을 때) 발생
const width >에러
- 에러 3. assigment to constant variable.
선언된 상수 값을 변경하려고 할 때, 일어남
const width = 5
width = 10 >에러
- 변수는 2,3번 에러가 발생하지 않는다.
- 변수 선언에는 var과 let가 있다.
- let 는 사용된 변수인지 구분함. 이미 선언한 변수를 다시 사용해 덮어쒸우는 것을 방지하기에 var보다 많이 사용되고 권장됨.
if 조건문
- 조건식이 참인경우에만 실행문이 실행됨
- 실행문이 하나만 있다면 중괄호를 생략가능.
- 조건문이 다음과 같다면

거짓이면 실행문3
참이면 실행문1,2,3이 실행됨.
- 따라서, 참인 경우만 생각하는 것이 아닌, 거짓인 경우에도 생각해야 한다. else if, else를 활용

else를 활용하여 참이 아닌 경우에 알림창 안 나오도록 설정.
실습3. 상수 선언과 함께 조건문 사용

- 현재 시간은 몇 시입니다. 그래서 오전(오후)입니다.를 나타내기 위해 처음에는 + 연산자를 통해
- alert("현재 시간은 "+ hours +"시 입니다. 그래서 오전입니다.")
- 다음과 같이 작성하였다.
하지만, 불러 올게 많으면 +도 많고 ""도 헷갈리기에 비효율적이라고 한다.
- 이럴 때 사용하는 것이 표현식 ${hours} 이다.
- 참고로, const date = new Date() 에서
date.getFullYear() -> 2022
date.getMonth() -> 5
date.getDate() -> 8
date.getHours() -> 11
date.getMinutes() -> 37
date.getSecond() -> 27
date.getMonth()+1 -> 6
달을 나타내는 것만 0부터 시작하기에 +1을 해주어야 한다.
중첩 조건문

else if 와 else로 다르게도 중첩해서 사용할 수 있다.
SwitchCase문
기본 형식은 다음과 같다.

- 케이스를 실행하고 빠져나와야 하기에 break사용
- 조건에 해당하지 않는 경우 default로 정의
실습4. Switchcase문

- prompf로 받은 문자형을 숫자형으로 바꾸기 위해 Number사용
- %/2를 통해 홀수, 짝수 구분

- 다음과 같이 잘 구분되어 나온다.
삼항 연산자


학습한 내용 중 어려웠던 점 또는 해결못한 것들
해결방법 작성
학습 소감
조건문을 배워봤는데 간단한 예제는 쉬웠지만, 복잡해진다면 어려울 것 같다. 그리고 해석하기는 가능한데, 직접 만들어본다면 시간이 조금 걸릴 것 같다.