JavaScript 기초

rekv·2024년 12월 16일

BEYOND SW CAMP

목록 보기
21/30
일수일자교과목내용편성시간
1824/12/16프론트엔드Javascript8

기본 문법

변수와 상수

  1. var
    : 과거에 사용되던 변수 선언 키워드
    함수 중복 선언이 가능하여 의도치 않은 오류를 유발할 수 있음
var x = 10;
var x = 20;
x = 30;
  1. let
    : 중복 선언이 불가능하며, 재할당 가능
let y = 10;
y = 20;
  1. const
    : 상수(Constant) 선언 시 사용
    선언 후 값을 변경할 수 없음
const z = 30;
z = 40; // 오류 발생
  1. 정리
varletconst
함수 스코프(Function Scope)블록 스코프(Block Scope)블록 스코프(Block Scope)
중복 선언OXX
선언 후 값 변경OOX

데이터 타입

기본 타입
: 숫자(Number), 문자열(String), 불리언(Boolean), null, undefined, Symbol
참조 타입
: 객체(Object), 배열(Array), 함수(Function)

//객체(Object)
let person={
  name: "John",
  age: 30
};
console.log(typeof person); //"object"

// 함수 (Function)
function greet() {
 console.log("Hello!");
}
console.log(typeof greet); // "function"

연산자

산술 연산자 : +, -, *, /, %
비교 연산자 : ==, ===, !=, !==, <, >, <=, >=
*==는 값이 같은지 비교, ===는 값과 타입 둘 다 비교

논리 연산자 : &&, ||, !
할당 연산자 : =, +=, -=, *=, /=, %=

조건문과 반복문

조건문 : if, else if, else
반복문 : for, while, do...while

실습

1~100까지 총합을 출력

배열에 저장된 숫자의 총합을 출력

연금복권 번호 생성기

당첨 번호에서 조만 다르면 2등이므로 모든 조를 다 사는 게 이득이라서 조 계산은 안 하고 뽑아야할 숫자만 계산

로또 번호 생성기

숫자 야구 게임

		// 0 ~9 사이의 랜덤한 3자리의 숫자를 생성
        let num = [];
        for(let i = 0; i<3; i++){
            num[i] = Math.floor(Math.random()*10);
            for(let j = 0; j<i; j++){
                if(num[i] == num[j]){
                    i--;
                }
            }
        }
        console.log(num);
        let count = 0;
        while(1){
            count++;
            let strike = 0, ball = 0, out = 0;
            // 입력
            let input;
            input = prompt();
            let mapfn = (arg) => Number(arg);
            let inNum = Array.from(input, mapfn);
            for(let i = 0; i<3; i++){
                for(let j = 0; j<3; j++){
                    if(inNum[i] == num[j] && i == j){
                        // 숫자의 위치와 숫자가 일치하면 : 스트라이크 
                        strike++;
                    }else if(inNum[i] == num[j]){
                        // 숫자의 위치는 다르지만 숫자가 일치하면 : 볼
                        ball++;
                    }
                }
            }
            // 숫자가 해당되지 않으면 : 아웃
            out = 3-strike-ball;
            console.log(num);
            console.log("S : "+strike + ", B : "+ ball + ", O : "+out +", 입력 횟수 : " + count);
            
            if(strike==3){// 정확한 숫자를 맞추면 종료
                break;
            }
        }

0개의 댓글