자바스크립트-2일차

이주열·2022년 6월 8일

학습한 내용

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를 통해 홀수, 짝수 구분
  • 다음과 같이 잘 구분되어 나온다.

삼항 연산자


학습한 내용 중 어려웠던 점 또는 해결못한 것들

해결방법 작성

학습 소감

조건문을 배워봤는데 간단한 예제는 쉬웠지만, 복잡해진다면 어려울 것 같다. 그리고 해석하기는 가능한데, 직접 만들어본다면 시간이 조금 걸릴 것 같다.

profile
예비 프론트엔드 개발자

0개의 댓글