JavaScript01 - 변수, 연산자, 조건문

이새봄·2022년 8월 20일

JavaScript

목록 보기
1/8

변수

  • javascript는 실행점을 위한 메서드가 없다. <script> 내에 적으면 된다.
  • 변수 선언
    : let 변수이름;
    문자열은 '', "", `` 상관없이 감싸주면 된다.
    숫자나 true/false도 가능.
  • 동일한 이름의 변수는 선언할 수 없다.
  • 상수에 값을 재할당 할 수 없다.
  • 약속된 키워드를 변수/상수 이름으로 사용할 수 없다.

출력 : colsole.log();

연산자

할당 연산자
: a = b 꼴에서 b 값을 a에 대입(할당)한다. 같다는 말이 X
: 할당 연산자의 우선순위는 최하위로 우측 피연산자의 연산이 모두 완료된 후 좌측 피연산자에 할당한다. 즉, a = b 꼴에서 b에 해당하는 연산을 모두 끝낸 뒤 a에 대입한다.

복합대입연산
: a += 5 는 a = a + 5와 동일한 결과를 가진다.

비교 연산자

동등(비교)연산자
: a == b, a와 b가 같은가에 대한 여부를 반환하며 형이 다르더라도 형변환을 통해 비교할 수 있을 경우 형변환 후 비교한다. 이는 부등(비교) 연산자에도 동일하게 적용된다.
console.log(5 == '5') : true
console.log('H' == 'H') : true
// js에서는 equals 같은 메서드 없이 문자열도 == 비교한다.

부등(비교)연산자 : a != b

일치(비교)연산자
: a === b, a와 b의 값과 타입이 모두 같아야 true 반환한다.
console.log(5 === '5') : false

불일치(비교)연산자
: a !== b
console.log(5 !== '5') : true

초과(비교)연산자
: a > b, a가 b보다 큰가에 대한 여부를 반환한다. 이때 초과/이상/미만/이하 연산자 모두 각 피연산자의 타입이 동일해야 한다.

증가 연산자
: a++ 혹은 ++a
a++ : 외부 구문을 실행한 뒤 증가시킨다.
++a : 외부 구문을 실행하기 전 증가시킨다.

감소 연산자 : a-- 혹은 --a

거듭제곱 연산자 : a ** b, a의 b승을 반환한다.

AND 연산 : a && b, a조건과 b조건 모두 true일 때 true
OR 연산 : a || b, a조건과 b조건 중 하나 이상이 true일 때 true
부정 (NOT 연산) : !a, a조건의 결과를 부정한다.

조건문

{ ... } : 구현부

if문

if (조건1) {
   // 조건1이 참일 때
} else if (조건2) {
   // 조건2가 참일 때
} else {
   //조건1과 조건2가 모두 거짓일 때
}
  • else-if 문은 여러번 추가될 수 있고 항상 else보다 먼저 나와야 한다.

switch문

switch(변수) {
    case 값1 :
       break;
    case 값2 : 
       break;
    ...
    default :
}

모든 if는 switch로 변환 O, 모든 switch가 if로 변환되지는 X

삼항식
: (조건) ? (참 값) : (거짓 값)

?? 연산자
: null 병합 연산자 '??'

  • null 병합 연산자는 값이 확정되어 있는 변수를 찾을 때 유용하다.
  • a ?? b 의 결과는 a가 null 또는 undefined가 아니면 a이고 그 외에는 b이다.
  • 여러 변수 중 정해진 변수의 값을 출력하고 싶은데 모두 정해지지 않았을 경우에도 어떤 값을 출력하고 싶을 때 유용하다.
let realName = null;
let nickName = null;
alert( (realName ?? nickName ?? "익명") + "님 반갑습니다");
  • 위는 사용자의 이름이 있으면 이름으로, 없으면 닉네임으로, 그것도 없으면 익명으로 이름을 출력하게 하였다.
  • 위와 같이 작성하면 빈 값으로 두지 않을 수 있다는 장점이 있다.
  • 첫 번째 정의된(defined) 값을 반환한다는 점에서 ||(or)과 다르므로 유의하자. 즉 숫자 0의 경우 ||에서는 false로 보고 다음으로 넘어가지만 ??는 정의되어 있다고 보기때문에 0을 반환한다.

0개의 댓글