[수업 6월 2주 2일차] Javascript-2

김유민·2022년 6월 8일
0

대구 A.I. 스쿨

목록 보기
38/90

1. 학습내용

이어서 javascript를 해보았다.
문자열과 식별자.

"this is \'string\'"

라고 치면 this is 'string'이라 보여진다.

또한 "안녕하세요"라는 배열이 있으면 컴퓨터는 '0'부터 시작해서 순서가 시작된다.

"안녕"+"하세요"
=> '안녕하세요'

"안녕하세요".length
=> 5

length는 배열의 갯수를 나타내 주는 명령어다.

'=='는 값이 같다는 것. '==='는 자료형과 값 모두 같다는 것이다.
!값 이 나오면 이건 값이 반대라는 뜻이다.
값이 여러개면(!a=b)이런 식으로 괄호로 감싸 주면 된다.

|| => "or"은 둘 중 하나면 ture면 무조건 결과 값은 'ture' 다.
&& => "and"는 둘 중 하나가 false면 무조건 결과 값은 'false'다. 즉 둘다 'ture'여야 무조건 'ture'이다.

const는 상수를 선언하는 변수이다.
const name = "값";
const를 선언할 때 값을 넣어 줘야 한다. 그럼 에러가 일어난다.

var 도 마찬가지로 변수이나, 다시 재선언이 가능하고, 변수 값을 바꿀 수도 있다.
그래서 이걸 방지하고자 let이란 변수가 새로 나왔다.
이미 선언한 걸 다시 선언하면 let은 에러가 난다.

   let num = 0;
      alert(++num);
      alert(++num);
      alert(++num);
      // ++가 전이나 후에 적느냐에 따라 다름.
      // alert(++num); -> alert(num) -> num=num+1
      // alert(num++); -> num=num+1 -> alert(num)

증감자는 순서에 따라 화면에 나타나는 값이 살짝 다르다. 위의 주석에 적힌 대로 순서가 되기 때문이다.

if(조건식){
실행문1
실행문2
}
실행문3

조건문이 거짓이면 if문은 실행되지 않고, 밖의 실행문이 실행된다. 참이라면 실행문 순서대로 실행이 된다.

     if(200>100){
         alert("200>100은 참");
      }
      alert("200<100은 거짓");

단 저럴경우 참인 경우 if문 실행뒤에 아래 코드도 실행되므로 조건이 적힌 if문을 하나 더 적거나 else를 적어준다.

	 if(200>100){
         alert("200>100은 참");
      }
      if(200<100){
      alert("200>100은 거짓");
      }
      OR
        if(200>100){
         alert("200>100은 참");
      }
      else{
      alert("200>100은 거짓");
      }

이 밖에도 여러object와 elements를 배웠다.

date.getFullYear();
2022
date.getMonth();
5
date.getDate();
8
date.getHour();
11
date.getMinutes();
37
date.getSeconds();
27
date.getMonth()+1;
6

위의 것을 응용해서 아래 코드를 작성했다. 오전이나 오후면 해당 대화가 alert창으로 뜨는것이다.

 const date = new Date();
      const hours = date.getHours();
      if(hours < 12){
         alert("오전입니다.");
       } if(hours >= 12) {
          alert("오후입니다.")
       }
  if(hours < 12){
         alert(`현재시간은 오전${hours} 시 입니다.`);
      } if(hours >= 12){
         alert(`현재시간은 오후${hours} 시 입니다.`);
      }

원래 변수 사이에 string을 넣을려면 '+변수명+' 이렇게 되야 되지만, 위의 방식으로 써도 적용이 된다.

  if(조건문1){
            if(조건문2){
				샐행문1
            }else{
				실행문2
            }
         }else{
            if(조건문3){
				실행문3
            }else{
               실행문4
            }
         }

if중첩문은 위와 같이 쓴다. 첫번째 조건문이 맞으면 안의 if문의 조건문이 맞는지 검사하고 맞으면 실행문1을, 맞지 않으면 실행문 2를 실행한다.

  const date = new Date();
      const hours = date.getHours();
      if(hours < 11){
         alert("아침식사 시간입니다.");
      } else{if(hours <= 17) {
         alert("점심식사 시간입니다.")
      }  else{
         alert("저녁식사 시간입니다.");
      }
      }

else if는 else문에 조건문을 적어주고 싶을때 쓴다.

const date = new Date();
      const hours = date.getHours();
      if(hours < 11){
         alert("아침식사 시간입니다.");
      } else if(hours <= 17) {
         alert("점심식사 시간입니다.")
      }  else{
         alert("저녁식사 시간입니다.");
      }
switch(값){
	case 조건
    실행문
    case 조건
    실행문
    case 조건
  }

예제는 아래와 같다. defult값은 조건이 전부 해당되지 않으면 출력되는 값이다.

    const ivalue = Number(prompt("숫자를 입력하세요","0~3"));
      switch(ivalue){
         case 0:
            alert("0입니다");
            break;
         case 1:
            alert("1입니다");
            break;
         default:
            alert("2입니다");
            break;   
      }
switch(ture){
         case hours<11:
         alert("아침식사");
         break;
         case hours<15:
         alert("점심식사");
         break;
      } //이런식으로 조건을 써줄 수도 있다.

삼항연산자는
'조건문?실행문1:실행문2'이런식으로 간편하게 나타낼 수 있다.
(현재는 많이 사용되고 있지 않다고..)

   <script>
      const ivalue = prompt("숫자입력");
      const num = Number(ivalue);
      const result = (num >= 0)?'0이상의숫자':'0보다작은숫자';
      alert(result);
   </script>

2. 어려웠던 점 및 해결방안

let에 대해 const랑 비슷한데 햇갈려서 다시 구글링 해서 찾아보았다.

let a = b;
let a = c;
//재선언 금지

let a = b;
a = c;
//재할당은 가능

const a = b;
const a = c;
//재선언 금지

const a = b;
a = c;
//재할당 금지

그러니까 let으로 선언한건 다시 같은 변수를 let으로 선언하는 건 안되지만, let으로 선언한 변수에 새로운 값을 넣을 수 있다는 것을 알수 있었다. 그 둘다 불가능 하게 하려면
const를 쓰면 된다.

3. 학습소감

변수와 계산에 관련된 것들을 배웠다. 개념이 처음 배우는 것들이라 어려운 것들도 있었지만,
구글링 해보고 혼자 적어보니 나름 이해가 될것도 같았다. 개념에 대해선 아직 외우질 못해서 그것만 따로 공부하면 되겠다는 생각이 들었다.

profile
친숙한 개발자가 되고픈 사람

0개의 댓글