Javascript 기초2

J-silver·2026년 1월 6일

Javascript

목록 보기
2/2
post-thumbnail

🔸연산자

🔹대입 연산자

=오른쪽 값을 왼쪽 변수에 넣는 것.

let var1 = 1;
var1 = 20;       // var에 20으로 다시 넣음(값 바뀜)

🔹산술 연산자

* , / , % 는 +, -보다 우선순위!

let num1 = 3 + 2;
let num2 = 3 - 2;
let num3 = 3 * 2;
let num4 = 3 / 2;
let num5 = 3 % 2;

let num6 = 1 + 2 * 10; // 21출력
let num6 = (1 + 2) * 10; //소괄호 먼저 계산 30출력

🔹복합 대입 연산자(산술 + 대입)

x += 3x = x + 3 이랑 똑같다

let x = 10;

x += 3;  // x = x + 3  → 13
x -= 2;  // x = x - 2  → 11
x *= 5;  // x = x * 5  → 55
x /= 11; // x = x / 11 → 5
x %= 2;  // x = x % 2  → 1

🔹증감 연산자

(++, --)는 “1씩 더하기/빼기”를 짧게 쓰는 거

  1. 기본 뜻
  • x++ : x를 1 증가
  • x-- : x를 1 감소
  • ++x : x를 1 증가
  • -x : x를 1 감소
let num8 = 10;
num++;
console.log(num8);

//만약 바로 증감하고 싶다면
console.log((num8 += 1));
console.log(++num8);

1. 전위 연산 ++x

먼저 1 증가하고, 증가된 값 쓰기

    let x = 5;
    console.log(++x); // 6 출력 (먼저 올리고)
    console.log(x);   // 6

    let a = 3;
    let b = ++a;
    console.log(a, b); // 4,4
    실행 순서
    a = a + 1; // a는 4가 됨
    그 다음 b = a; // b는 4
    ```

2. 후위 연산 x++

일단 지금 값 쓰고, 나중에 1 증가

    let x = 5;
    console.log(x++); // 5 출력 (일단 5를 쓰고)
    console.log(x);   // 6 (그 다음 증가됨)

    let a = 3;
    let b = a++;      
    console.log(a, b); // 4,3

    실행 순서
    b = a 먼저 됨 → b는 3
    그 다음 a가 1 증가 → a는 4
    ```

4. 후위 감소 x--

let x =5;
console.log(x--);// 5
console.log(x);// 4

5. 전위 감소 -x

let x =5;
console.log(--x);// 4
console.log(x);// 4

🔸논리 연산자

  1. || (OR, 또는)
// 하나만 참이여도 true
let or = true || false;
  1. && (AND, 그리고)
// 두개 값이 true여야지 true
let and = true && false;
  1. ! (NOT, 반대)
//!true → false
//!false → true
let not = !true;

🔸비교 연산자

1) 크기 비교

  • > : 크다
  • < : 작다
  • >= : 크거나 같다 (이상)
  • <= : 작거나 같다 (이하)
10 >3 // true
10 <3 // false
10 >=10 // true
9 <=10 // true

2) 같은지 비교

✅ 가장 추천: === (엄격 비교)

값도 같고, 타입도 같아야 true

10 ===10// true
10 ==="10"// false (숫자, 문자형이라 타입 다름)

⚠️ == (느슨 비교)

타입이 다르면 자바스크립트가 자동으로 형변환해서 비교. 그래서 헷갈릴 수 있음.

10 =="10"// true (자동 변환해서 같다고 봄)
0 ==false// true
"" ==0// true
null ==undefined// true

초반엔 웬만하면 ===만 쓰면 안전.


3) 같지 않다(다르다)

  • !== : 엄격하게 다름(추천)
  • != : 느슨하게 다름(자동 변환 있음)
10 !=="10"// true
10 !="10"// false (자동변환 때문에 같다고 봄)

4) 문자열 비교도 가능(사전 순서 느낌)

"b" >"a"// true
"10" >"2"// false  (문자열이라 글자 순서로 비교됨!)

그래서 숫자 비교는 문자열 말고 숫자로 바꿔서 하는 게 좋음:

"10" > "2" 가 false인 이유 (여기서 헷갈림 포인트!)

이건 숫자 10과 2를 비교하는 게 아니라, 문자열 "10""2"를 비교하는 거라서 첫 글자부터 비교하는것.

한 글자씩 비교 과정

  • "10"의 첫 글자: "1"
  • "2"의 첫 글자: "2"

사전/문자 순서로 보면 "1""2"보다 앞이니까,

  • "1" < "2"

    그래서 전체도

  • "10" < "2" 가 됨 → 즉 "10" > "2"false

여기서 "0"까지 볼 필요도 없음. 첫 글자에서 이미 끝!

Number("10") >Number("2")// true

🔹null 병합 연산자 ??

null, undefined가 아닌 값을 찾아내는 연산자

let var1;
let var2 = 10;
let var3 = 20;

let var4 = var1 ?? var2; //10
let var5 = var1 ?? var3; //20
let var6 = var3 ?? var2; //20

//만약 둘다 undefined가 아니면 첫번째 값이 나옴

let var6 = var2 ?? var3; //10

만약 둘다 undefined가 아니면 첫번째 값이 나옴

🔑꿀팁! 회원관리

유저네임이 있으면 유저네임이 나오는거고 없으면 닉네임이 나오는것

let userName;
let userNickName = "Winterlood";

let displayName = userName ?? userNickName; //Winterlood

🔹typeof 연산자

‘이 값의 타입이 뭐야?’하고 물어보는것 결과는 항상 문자열로 나옴

typeof 10        // "number"
typeof "hi"      // "string"
typeof true      // "boolean"

//예시
let x = "hello";
console.log(typeof x); // "string"

x = 10;
console.log(typeof x); // "number"

x = true;
console.log(typeof x); // "boolean"

🔹 삼항 연산자

항을 3개 사용하는 연산자

기본 형태

조건 ? 참일때값 : 거짓일때값

let age = 20;

let msg = age >= 19 ? "성인" : "미성년";
console.log(msg); // "성인"
//age가 19이상이야?하고 물어보는것

//if/else로 적었다면?
let msg;
if (age >= 19) msg = "성인";
else msg = "미성년";
  • 조건이 true면 → ? 뒤의 값
  • 조건이 false면 → : 뒤의 값

예시

let var8 = 10;

// 요구사항 : 변수 res에 var8의 값이 짝수 -> "짝", 홀수 -> "홀"
let res = var8 % 2 === 0 ? "짝수" : "홀수";
console.log(res);

🤔여기서 헷갈린게 10 % 2면 5인데 왜 짝수 홀수이지? 하는 의문이 듬

-> 근데 여기서 %나머지 연산자.

10 % 2 는 “10을 2로 나눴을 때 나머지

사탕 10개를 2명에게 똑같이 나눠주면:

  • 한 명당 5개(몫) 받고
  • 남는 사탕은 0개(나머지)

그래서 10 % 2는 0.

그래서 11 % 2는 1

profile
달리는 거북이

0개의 댓글