You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/ko/2-js-basics/3-making-decisions
localizeflow[bot] dc5c88e854
chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files)
1 month ago
..
README.md chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files) 1 month ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files) 1 month ago

README.md

JavaScript 기초: 의사 결정

JavaScript Basics - Making decisions

스케치노트 작성자 Tomomi Imura

journey
    title 당신의 자바스크립트 의사결정 모험
    section 기초
      Boolean Values: 5: You
      Comparison Operators: 4: You
      Logical Thinking: 5: You
    section 기본 결정
      If Statements: 4: You
      If-Else Logic: 5: You
      Switch Statements: 4: You
    section 고급 논리
      Logical Operators: 5: You
      Complex Conditions: 4: You
      Ternary Expressions: 5: You

애플리케이션이 어떻게 똑똑한 결정을 내리는지 궁금했던 적 있나요? 예를 들어 내비게이션 시스템이 가장 빠른 경로를 선택하는 방법, 또는 온도 조절기가 언제 난방을 켤지 결정하는 방법 말이죠. 이것이 프로그래밍에서 의사 결정의 기본 개념입니다.

찰스 배비지의 해석 엔진이 조건에 따라 다른 연산 순서를 따르도록 설계된 것처럼, 현대의 자바스크립트 프로그램도 다양한 상황에 따라 선택을 해야 합니다. 이 분기하고 결정을 내리는 능력이 정적인 코드를 반응형이고 지능적인 애플리케이션으로 변화시키는 요인입니다.

이번 수업에서는 조건부 논리를 프로그램에 구현하는 법을 배웁니다. 조건문, 비교 연산자, 논리식을 탐구하여 코드가 상황을 평가하고 적절히 반응하도록 만들 것입니다.

강의 전 퀴즈

강의 전 퀴즈

의사 결정 능력과 프로그램 흐름 제어는 프로그래밍의 기본적인 측면입니다. 이 섹션에서는 불리언 값과 조건부 논리를 사용해 자바스크립트 프로그램의 실행 경로를 제어하는 방법을 다룹니다.

Making Decisions

🎥 위 이미지를 클릭하면 의사 결정에 관한 동영상을 볼 수 있습니다.

이 수업은 Microsoft Learn에서도 들을 수 있습니다!

mindmap
  root((의사 결정))
    Boolean Logic
      참/거짓
      비교 결과
      논리식
    Conditional Statements
      if 문
        단일 조건
        코드 실행
      if-else
        두 경로
        대체 동작
      switch
        여러 옵션
        깔끔한 구조
    Operators
      Comparison
        === !== < > <= >=
        값 관계
      Logical
        && || !
        조건 결합
    Advanced Patterns
      Ternary
        ? : 구문
        인라인 결정
      Complex Logic
        중첩 조건
        다중 기준

불리언(Booleans) 간단 복습

의사 결정에 앞서, 지난 수업에서 배운 불리언 값을 다시 살펴보겠습니다. 수학자 조지 불(George Boole)의 이름을 딴 이 값들은 이진 상태를 나타냅니다—true 또는 false. 애매함 없이 딱 두 가지 상태만 존재합니다.

이 이진 값들은 모든 계산 논리의 기초를 이룹니다. 프로그램이 내리는 모든 결정은 결국 불리언 평가로 귀결됩니다.

불리언 변수를 만드는 방법은 간단합니다:

let myTrueBool = true;
let myFalseBool = false;

이렇게 두 개의 변수가 명시적인 불리언 값으로 생성됩니다.

불리언은 영국의 수학자, 철학자이자 논리학자인 조지 불(1815~1864)의 이름에서 유래되었습니다.

비교 연산자와 불리언

실제로 불리언 값을 수동으로 설정하는 일은 드뭅니다. 대신 조건을 평가해서 생성합니다: "이 숫자가 저 숫자보다 큰가?" 또는 "이 값들이 같은가?"

비교 연산자는 이러한 평가를 가능하게 합니다. 이들은 값을 비교하고 피연산자 간의 관계에 따라 불리언 결과를 반환합니다.

기호 설명 예시
< 작다: 왼쪽 값이 오른쪽 값보다 작으면 true 불리언을 반환 5 < 6 // true
<= 작거나 같다: 왼쪽 값이 오른쪽 값보다 작거나 같으면 true를 반환 5 <= 6 // true
> 크다: 왼쪽 값이 오른쪽 값보다 크면 true를 반환 5 > 6 // false
>= 크거나 같다: 왼쪽 값이 오른쪽 값보다 크거나 같으면 true를 반환 5 >= 6 // false
=== 엄격한 동등성: 왼쪽과 오른쪽 값이 같고 자료형도 같으면 true를 반환 5 === 6 // false
!== 부등호: 엄격한 동등성 연산자 결과의 반대 불리언 값을 반환 5 !== 6 // true

웹 브라우저의 콘솔에 비교 연산을 작성해서 확인해보세요. 반환된 값 중 놀라운 점이 있나요?

flowchart LR
    A["🔢 값들"] --> B["⚖️ 비교"]
    B --> C["✅ 불리언 결과"]
    
    D["5"] --> E["< 6"]
    E --> F["참"]
    
    G["10"] --> H["=== '10'"]
    H --> I["거짓"]
    
    J["'hello'"] --> K["!== 'world'"]
    K --> L["참"]
    
    M["📋 연산자 유형"] --> M1["동등: === !=="]
    M --> M2["관계형: < > <= >="]
    M --> M3["엄격 대 느슨"]
    
    style A fill:#e3f2fd
    style C fill:#e8f5e8
    style M fill:#fff3e0

🧠 비교 연산 숙달 확인: 불리언 논리 이해하기

비교에 대해 테스트해보기:

  • === (엄격한 동등성)이 보통 == (느슨한 동등성)보다 선호될까요?
  • 5 === '5'는 무엇을 반환할까요? 5 == '5'는요?
  • !==!=의 차이는 무엇인가요?
stateDiagram-v2
    [*] --> Comparison: 두 값
    Comparison --> StrictEqual: === 또는 !==
    Comparison --> Relational: < > <= >=
    
    StrictEqual --> TypeCheck: 타입과 값 확인
    Relational --> NumberCompare: 숫자로 변환
    
    TypeCheck --> BooleanResult: true 또는 false
    NumberCompare --> BooleanResult
    
    note right of StrictEqual
        권장하는 방법
        타입 변환 없음
    end note
    
    note right of Relational
        범위에 유용함
        수치 비교
    end note

전문가 팁: 타입 변환이 필요하지 않는 한 항상 ===!==를 사용하세요. 예상치 못한 동작을 방지할 수 있습니다!

If 문

if 문은 코드에서 질문을 하는 것과 같습니다. "만약 이 조건이 참이라면, 이 일을 수행해라." 자바스크립트에서 의사 결정을 위해 가장 중요한 도구입니다.

작동 방식은 다음과 같습니다:

if (condition) {
  // 조건이 참입니다. 이 블록의 코드는 실행됩니다.
}

조건은 괄호 안에 들어가고, 만약 true라면 자바스크립트는 중괄호 안 코드를 실행합니다. false라면 전체 블록을 건너뜁니다.

조건을 만들 때는 보통 비교 연산자를 사용합니다. 실용적인 예를 보겠습니다:

let currentMoney = 1000;
let laptopPrice = 800;

if (currentMoney >= laptopPrice) {
  // 조건이 참입니다. 이 블록의 코드는 실행됩니다.
  console.log("Getting a new laptop!");
}

1000 >= 800true로 평가되므로 블록 내 코드가 실행되어 콘솔에 "신형 노트북 구입!"이 출력됩니다.

flowchart TD
    A["🚀 프로그램 시작"] --> B{"💰 현재돈 >= 노트북가격?"}
    B -->|true| C["🎉 '새 노트북 구입!'"]
    B -->|false| D["⏭️ 코드 블록 건너뛰기"]
    C --> E["📋 프로그램 계속"]
    D --> E
    
    F["📊 if 문 구조"] --> F1["if (조건) {"]
    F1 --> F2["  // 참일 때 실행할 코드"]
    F2 --> F3["}"]
    
    style B fill:#fff3e0
    style C fill:#e8f5e8
    style D fill:#ffebee
    style F fill:#e3f2fd

If..Else 문

하지만 조건이 거짓일 때 다른 작업을 하길 원한다면? 그게 바로 else 문이 등장하는 이유입니다—백업 계획과 비슷합니다.

else 문은 "만약 이 조건이 거짓이라면, 이 작업을 해라"라고 말하는 방법입니다.

let currentMoney = 500;
let laptopPrice = 800;

if (currentMoney >= laptopPrice) {
  // 조건이 참입니다. 이 블록의 코드가 실행됩니다.
  console.log("Getting a new laptop!");
} else {
  // 조건이 거짓입니다. 이 블록의 코드가 실행됩니다.
  console.log("Can't afford a new laptop, yet!");
}

이번엔 500 >= 800false라서 자바스크립트가 첫 번째 블록을 건너뛰고 else 블록을 실행합니다. 콘솔에는 "아직 노트북을 살 여유가 없다!"가 출력됩니다.

이 코드와 아래 코드를 브라우저 콘솔에 실행해서 이해도를 테스트해보세요. currentMoney와 laptopPrice 변수 값을 바꿔 console.log() 결과를 바꿔볼 수 있습니다.

🎯 If-Else 논리 점검: 분기 경로

조건부 논리 이해도 평가:

  • currentMoney가 laptopPrice와 정확히 같다면 어떻게 될까요?
  • 현실 세계에서 if-else 논리가 유용할 만한 시나리오는 무엇일까요?
  • 여러 가격 범위를 처리하기 위해 어떻게 확장할 수 있을까요?
flowchart TD
    A["🔍 조건 평가"] --> B{"조건이 참인가?"}
    B -->|예| C["📤 IF 블록 실행"]
    B -->|아니오| D["📥 ELSE 블록 실행"]
    
    C --> E["✅ 경로 하나 선택됨"]
    D --> E
    
    F["🌐 실제 예제"] --> F1["사용자 로그인 상태"]
    F --> F2["연령 확인"]
    F --> F3["폼 검증"]
    F --> F4["게임 상태 변경"]
    
    style B fill:#fff3e0
    style C fill:#e8f5e8
    style D fill:#e3f2fd
    style F fill:#f3e5f5

핵심 알짜 팁: if-else 문은 정확히 하나의 경로만 선택되도록 보장합니다. 이는 프로그램이 모든 조건에서 항상 반응이 있음을 의미합니다!

Switch 문

가끔 하나의 값을 여러 옵션과 비교해야 할 때가 있습니다. 여러 if..else 문을 연속으로 쓰는 방법도 있지만, 복잡해지고 다루기 어렵습니다. switch문은 여러 개의 이산 값을 다루기에 더 깔끔한 구조를 제공합니다.

이 개념은 초기 전화교환기의 기계식 스위칭 시스템과 비슷합니다—하나의 입력값이 실행할 특정 경로를 결정합니다.

switch (expression) {
  case x:
    // 코드 블록
    break;
  case y:
    // 코드 블록
    break;
  default:
    // 코드 블록
}

구조는 다음과 같습니다:

  • 자바스크립트가 표현식을 한 번 평가
  • case를 차례로 검사하며 일치 여부 확인
  • 일치하는 경우 해당 코드 블럭 실행
  • break 문은 자바스크립트에게 switch 실행을 멈추고 빠져나가라고 지시
  • 일치하는 case가 없으면 default 블록을 실행(설정한 경우)
// 요일을 위한 switch 문을 사용하는 프로그램
let dayNumber = 2;
let dayName;

switch (dayNumber) {
  case 1:
    dayName = "Monday";
    break;
  case 2:
    dayName = "Tuesday";
    break;
  case 3:
    dayName = "Wednesday";
    break;
  default:
    dayName = "Unknown day";
    break;
}
console.log(`Today is ${dayName}`);

이 예에서는 자바스크립트가 dayNumber2임을 확인하고, case 2를 찾아 dayName을 "화요일"로 설정한 후 switch를 중단합니다. 결과는 "오늘은 화요일입니다"가 콘솔에 출력됩니다.

flowchart TD
    A["📥 switch(식)"] --> B["🔍 한 번 평가"]
    B --> C{"케이스 1과 일치?"}
    C -->|예| D["📋 케이스 1 실행"]
    C -->|아니오| E{"케이스 2와 일치?"}
    E -->|예| F["📋 케이스 2 실행"]
    E -->|아니오| G{"케이스 3과 일치?"}
    G -->|예| H["📋 케이스 3 실행"]
    G -->|아니오| I["📋 기본 케이스 실행"]
    
    D --> J["🛑 break"]
    F --> K["🛑 break"]
    H --> L["🛑 break"]
    
    J --> M["✅ switch 종료"]
    K --> M
    L --> M
    I --> M
    
    style A fill:#e3f2fd
    style B fill:#fff3e0
    style M fill:#e8f5e8

이 코드와 다음 코드를 브라우저 콘솔에서 실행해 이해도를 테스트해보세요. 변수 a의 값을 바꾸면 console.log() 결과가 달라집니다.

🔄 Switch 문 숙달 체크: 여러 옵션 처리

Switch 문 이해도 테스트:

  • break 문을 깜빡하면 어떻게 될까요?
  • 여러 if-else 대신 언제 switch를 사용하는 것이 좋을까요?
  • default 케이스는 모든 경우를 다뤘다고 생각해도 왜 유용할까요?
pie title "각 결정 구조를 사용할 때"
    "간단한 if-else" : 40
    "복잡한 if-else 체인" : 25
    "스위치 문" : 20
    "삼항 연산자" : 15

모범 사례: 하나의 변수에서 여러 특정 값을 비교할 때 switch를 사용합니다. 범위 검사나 복잡한 조건에는 if-else가 더 적합합니다!

논리 연산자와 불리언

복잡한 결정을 할 때는 여러 조건을 동시에 평가해야 하는 경우가 많습니다. 수학에서 불 대수(Boolean algebra)가 논리식을 결합하는 것처럼, 프로그래밍에서도 논리 연산자를 제공하여 여러 불리언 조건을 연결합니다.

이 연산자들은 단순한 참/거짓 평가를 조합해 정교한 조건부 논리를 만듭니다.

기호 설명 예시
&& 논리 AND: 두 불리언 식을 비교. 양쪽 모두 참일 때만 true 반환 (5 > 3) && (5 < 10) // 양쪽 모두 참. true 반환
|| 논리 OR: 두 불리언 식을 비교. 한쪽만 참이어도 true 반환 (5 > 10) || (5 < 10) // 한쪽이 거짓, 다른 쪽이 참. true 반환
! 논리 NOT: 불리언 식의 반대 값 반환 !(5 > 10) // 5가 10보다 크지 않아 "!"가 true로 만듦

이 연산자는 조건을 다음과 같이 결합할 수 있습니다:

  • AND (&&)는 두 조건 모두 참이어야 함
  • OR (||)는 하나 이상의 조건이 참이어야 함
  • NOT (!)은 참과 거짓을 뒤바꿈
flowchart LR
    A["🔗 논리 연산자"] --> B["&& 그리고"]
    A --> C["|| 또는"]
    A --> D["! 부정"]
    
    B --> B1["둘 다 참이어야 함"]
    B --> B2["true && true = true"]
    B --> B3["true && false = false"]
    
    C --> C1["하나 이상 참"]
    C --> C2["true || false = true"]
    C --> C3["false || false = false"]
    
    D --> D1["값을 반전"]
    D --> D2["!true = false"]
    D --> D3["!false = true"]
    
    E["🌍 실제 예제"] --> E1["나이 >= 18 && 면허 보유"]
    E --> E2["주말 || 공휴일"]
    E --> E3["!로그인 안 됨"]
    
    style A fill:#e3f2fd
    style B fill:#e8f5e8
    style C fill:#fff3e0
    style D fill:#f3e5f5
    style E fill:#e0f2f1

논리 연산자와 조건 및 결정

조금 더 현실적인 예제를 통해 논리 연산자를 살펴봅시다:

let currentMoney = 600;
let laptopPrice = 800;
let laptopDiscountPrice = laptopPrice - (laptopPrice * 0.2); // 20퍼센트 할인된 노트북 가격

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  // 조건이 참입니다. 이 블록의 코드가 실행됩니다.
  console.log("Getting a new laptop!");
} else {
  // 조건이 거짓입니다. 이 블록의 코드가 실행됩니다.
  console.log("Can't afford a new laptop, yet!");
}

이 예에서 20% 할인 가격(640)을 계산한 뒤, 전체 가격 또는 할인 가격 중 하나를 현재 가진 돈으로 감당할 수 있는지를 평가합니다. 600은 640 할인 가격 조건을 충족하지 못하지만, 조건식은 OR 연산자로, 둘 중 하나라도 참이면 전체가 참이므로 true로 평가됩니다.

🧮 논리 연산자 점검: 조건 조합 연습

논리 연산자 이해도 테스트:

  • 표현식 A && B에서 A가 거짓이면 무엇이 일어날까요? B는 평가되나요?
  • 세 가지 연산자 (&&, ||, !)를 동시에 써야 하는 상황을 생각해볼 수 있나요?
  • !user.isActiveuser.isActive !== true는 어떻게 다른가요?
stateDiagram-v2
    [*] --> EvaluateA: A && B
    EvaluateA --> CheckB: A 는 true
    EvaluateA --> ReturnFalse: A 는 false
    CheckB --> ReturnTrue: B 는 true
    CheckB --> ReturnFalse: B 는 false
    
    [*] --> EvaluateC: A || B
    EvaluateC --> ReturnTrue: A 는 true
    EvaluateC --> CheckD: A 는 false
    CheckD --> ReturnTrue: B 는 true
    CheckD --> ReturnFalse: B 는 false
    
    note right of EvaluateA
        단락 평가:
        A 가 false 이면 B 는 절대 확인하지 않음
    end note

성능 팁: 자바스크립트는 "단락 평가(short-circuit evaluation)"를 사용합니다 - A && B에서 A가 거짓이면 B는 평가되지 않아요. 이를 잘 활용하세요!

부정 연산자

때때로 어떤 것이 참이 아닐 때를 생각하는 게 더 쉽습니다. 예를 들어 "사용자가 로그인했는가?" 대신 "사용자가 로그인하지 않았는가?"를 묻고 싶을 때도 있죠. 느낌표(!) 연산자는 그 논리를 반전시켜줍니다.

if (!condition) {
  // 조건이 거짓일 때 실행됩니다
} else {
  // 조건이 참일 때 실행됩니다
}

! 연산자는 "반대의..."라고 말하는 것과 같아요—무언가가 true일 때 !false로 바꾸고, 그 반대도 마찬가지입니다.

삼항 연산자

간단한 조건부 할당을 위해 자바스크립트는 삼항 연산자를 제공합니다. 이 간결한 문법으로 조건식을 한 줄에 작성할 수 있습니다. 조건에 따라 두 값 중 하나를 할당할 필요가 있을 때 유용합니다.

let variable = condition ? returnThisIfTrue : returnThisIfFalse;

이 문법은 이렇게 읽힙니다: "이 조건이 참인가? 참이면 이 값을 써라. 거짓이면 저 값을 써라."

더 구체적인 예를 보겠습니다:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

코드를 여러 번 읽어보세요. 이 연산자들이 어떻게 작동하는지 이해가 되나요?

이 줄은 이렇게 말하는 겁니다: "firstNumbersecondNumber보다 큰가? 참이면 biggestNumberfirstNumber를 넣고, 아니면 secondNumber를 넣어라."

삼항 연산자는 전통적인 if..else 문을 더 짧게 쓴 것뿐입니다:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

양쪽 방식 모두 같은 결과를 만듭니다. 삼항 연산자는 간결함을 제공하고, 전통적인 if-else 구조는 복잡한 조건에서는 읽기 더 쉬울 수 있습니다.

flowchart LR
    A["🤔 삼항 연산자"] --> B["조건 ?"]
    B --> C["조건이 참일 때 값 :"]
    C --> D["조건이 거짓일 때 값"]
    
    E["📝 전통적인 if-else"] --> F["if (조건) {"]
    F --> G["  참일 때 값 반환"]
    G --> H["} else {"]
    H --> I["  거짓일 때 값 반환"]
    I --> J["}"]
    
    K["⚡ 사용 시기"] --> K1["간단한 할당"]
    K --> K2["짧은 조건"]
    K --> K3["인라인 결정"]
    K --> K4["반환문"]
    
    style A fill:#e3f2fd
    style E fill:#fff3e0
    style K fill:#e8f5e8

🚀 도전 과제

논리 연산자를 사용하는 프로그램을 먼저 작성한 다음, 삼항 연산자를 사용하여 다시 작성하세요. 어떤 문법이 더 선호되나요?


GitHub Copilot Agent 도전 과제 🚀

에이전트 모드를 사용해 다음 도전을 완료하세요:

설명: 이번 수업에서 다룬 여러 의사 결정 개념(if-else 문, switch 문, 논리 연산자, 삼항 연산자)을 포함하는 포괄적인 성적 계산기를 만드세요.

요구사항: 학생의 숫자 점수(0-100)를 받아 다음 기준에 따라 학점(A-F)을 판단하는 자바스크립트 프로그램을 작성하세요:

  • A: 90-100
  • B: 80-89
  • C: 70-79
  • D: 60-69
  • F: 60 미만

요구조건:

  1. 학점 판정에 if-else 문을 사용하세요.
  2. 학생이 합격했는지(성적 >= 60) AND 우등인지(성적 >= 90)를 논리 연산자를 사용하여 확인하세요
  3. switch 문을 사용하여 각 등급에 대해 구체적인 피드백을 제공하세요
  4. 삼항 연산자를 사용하여 학생이 다음 과정에 적합한지(성적 >= 70) 결정하세요
  5. 점수가 0에서 100 사이인지 입력 검증을 포함하세요

59, 60, 89, 90과 같은 경계 값 및 잘못된 입력을 포함하여 다양한 점수로 프로그램을 테스트하세요.

agent mode에 대해 자세히 알아보세요.

강의 후 퀴즈

강의 후 퀴즈

복습 및 자기주도 학습

사용자에게 제공되는 다양한 연산자에 대해 더 읽어보세요 MDN에서.

Josh Comeau의 멋진 연산자 조회를 살펴보세요!

과제

연산자


🧠 당신의 의사결정 도구 요약

graph TD
    A["🎯 자바스크립트 결정"] --> B["🔍 불리언 논리"]
    A --> C["📊 조건문"]
    A --> D["🔗 논리 연산자"]
    A --> E["⚡ 고급 패턴"]
    
    B --> B1["참/거짓 값"]
    B --> B2["비교 연산자"]
    B --> B3["진실성 개념"]
    
    C --> C1["if 문"]
    C --> C2["if-else 체인"]
    C --> C3["switch 문"]
    
    D --> D1["&& (AND)"]
    D --> D2["|| (OR)"]
    D --> D3["! (NOT)"]
    
    E --> E1["삼항 연산자"]
    E --> E2["단락 평가"]
    E --> E3["복잡한 조건"]
    
    F["💡 핵심 원칙"] --> F1["명확하고 읽기 쉬운 조건"]
    F --> F2["일관된 비교 스타일"]
    F --> F3["적절한 연산자 우선순위"]
    F --> F4["효율적인 평가 순서"]
    
    style A fill:#e3f2fd
    style B fill:#e8f5e8
    style C fill:#fff3e0
    style D fill:#f3e5f5
    style E fill:#e0f2f1
    style F fill:#fce4ec

🚀 당신의 JavaScript 의사결정 마스터리 타임라인

다음 5분 동안 할 수 있는 것들

  • 브라우저 콘솔에서 비교 연산자 연습하기
  • 나이를 확인하는 간단한 if-else 문 작성하기
  • 삼항 연산자를 사용해 if-else 문을 다시 작성하는 도전 과제 시도하기
  • 다양한 "참 같은"과 "거짓 같은" 값들이 어떻게 동작하는지 테스트하기

🎯 이번 시간 동안 이룰 수 있는 목표

  • 수업 후 퀴즈 완료하고 헷갈리는 개념 복습하기
  • GitHub Copilot 챌린지의 종합 점수 계산기 만들기
  • 실제 상황(예: 입을 옷 선택)에 맞는 간단한 결정 트리 만들기
  • 논리 연산자를 사용해 여러 조건 결합 연습하기
  • 다양한 용도에 맞춘 switch 문 실험하기

📅 이번 주 논리 마스터링 계획

  • 창의적인 예제와 함께 연산자 과제 완료하기
  • 다양한 조건문 구조를 활용한 미니 퀴즈 애플리케이션 만들기
  • 여러 입력 조건을 검사하는 폼 검증기 만들기
  • Josh Comeau의 연산자 조회 연습문제 풀기
  • 기존 코드를 더 적절한 조건문 구조로 리팩토링하기
  • 단락 평가(short-circuit evaluation) 및 성능 영향 연구하기

🌟 한 달간의 변화 계획

  • 복잡한 중첩 조건을 마스터하고 코드 가독성 유지하기
  • 정교한 의사결정 로직을 가진 애플리케이션 만들기
  • 오픈 소스 프로젝트에 조건문 로직 개선으로 기여하기
  • 다양한 조건문 구조와 사용 시기에 대해 다른 사람에게 가르치기
  • 조건문 로직의 함수형 프로그래밍 접근법 탐구하기
  • 조건문 관련 개인 참고 가이드 만들기

🏆 최종 의사결정 챔피언 점검

논리적 사고력 마스터를 축하하며:

  • 지금까지 성공적으로 구현한 가장 복잡한 의사결정 로직은 무엇인가요?
  • 가장 자연스럽게 느껴지는 조건문 구조와 그 이유는 무엇인가요?
  • 논리 연산자에 대해 배우면서 문제 해결 방식이 어떻게 바뀌었나요?
  • 어떤 실제 애플리케이션이 정교한 의사결정 로직을 필요로 할까요?
journey
    title 당신의 논리적 사고 진화
    section 오늘
      Boolean 혼동: 3: You
      If-Else 이해: 4: You
      연산자 인식: 5: You
    section 이번 주
      복잡한 조건: 4: You
      Switch 숙달: 5: You
      논리적 조합: 5: You
    section 다음 달
      고급 패턴: 5: You
      성능 인식: 5: You
      다른 이 가르치기: 5: You

🧠 당신은 디지털 의사결정의 기술을 마스터했습니다! 모든 인터랙티브 애플리케이션은 사용자 행동과 변화하는 조건에 지능적으로 대응하기 위해 조건 논리에 의존합니다. 이제 여러분은 프로그램이 사고하고 평가하며 적절한 반응을 선택할 수 있게 만드는 방법을 이해하고 있습니다. 이 논리적 기초가 여러분이 만드는 모든 동적 애플리케이션을 강력하게 할 것입니다! 🎉


면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있음을 유의하시기 바랍니다. 원래 문서의 원어본이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 본 번역의 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.