switch (평가) {

   case A :

    //A일때 코드

   case B:

   //B일때 코드

...

}

 

if (평가 == A) { 

    //A일때 코드 

}else if(평가 == B){

   //B일때 코드

}

 

// 사과 : 100원
// 바나나: 200원
// 키위: 300원
// 멜론: 500원
// 수박: 500원
// 사고 싶은 과일 물어보고 가격 알려주기

let fruit = prompt('무슨 과일을 사고 싶나요?');

switch(fruit){
  case '사과' : 
    console.log('100원 입니다.');
    break;
  case '바나나' : 
    console.log('200원 입니다.');
    break;
  case '키위' : 
    console.log('300원 입니다.');
    break;
  case '멜론' : 
    console.log('500원 입니다.');
    break;
  case '수박' : 
    console.log('500원 입니다.');
    break;
  default :                              → else if의 의미
    console.log('그런 과일은 없습니다.')      
}

 case '멜론' : 
    console.log('500원 입니다.');
    break;
 case '수박' : 
    console.log('500원 입니다.');
    break;

= case '멜론' :
   case '수박' : 
       console.log('500원 입니다.');
       break;

반응형

*반복문loop : 동일한 작업 여러번 반복

 

<반복문 for>

for구문은 ;(세미콜론)으로 3부분으로 구분된다.

for (let i =  0; i < 10; i++)                         → 초기값 설정; 조건문 ; 코드 실행 후 작업

console.log(i);              //반복할 코드

}

→ 1) 초기값 i = 0

     2) i=0 < 10 이므로 True 

     3) 코드실행

     4) i++  → i값 1 증가 i=1

     1) i =1

     2) i=1 <10 이므로 True

             ...반복...

      조건을 확인해서 False이면 → 반복문 빠져나옴.

 

<반복문 while>

let i = 0;

while (i < 10) {

console.log(i);                    //코드       → i < 10일 동안 코드 반복, i가 10이상이면 반복문 탈출. 

i ++;

}

 

<반복문 do..while>

let i = 0;

do{

//코드              → 코드를 먼저 실행 후, 조건 확인. 코드를 적어도 한 번은 실행한다는 점에서 while문과 차이

i++;

}while(i < 10) 

 

----------------------------------------------------------------------------------------------------------------------

<break, continue: 반복문 탈출>

break: 멈추고 빠져나옴

continue: 멈추고 다음 반복으로 진행 

 

while(true){
  let answer = confirm('계속 할까요?');              → '계속 할까요?'창에서 확인을 누르면 무한 반복 창 
  if(!answer){                 → '계속 할까요?'창에서 취소를 누르면 break 
      break;                     → 무한 반복문은 특정 조건이 되었을 때 break 해주는 게 중요! 
   }
}

 

 

for(let i = 0; i < 10; i++){
  if(i%2){                            → i를 2로 나눈 나머지 
    continue;
  }
  console.log(i)
 }

→ if(0) = False,  if(1) = True 이므로

i=0 , i%2 = 0 , if(0) = False 이므로 값 0을 반환

i=1,  i%2 = 1, if(1) = True 이므로 continue ,

i=2,  i%2 = 0 , if(0) = False 이므로 값 2를 반환

..반복..

결과: 0, 2, 4, 6, 8   반환 

 

----------------------------------------------------------------------------------------------------------------------

*False를 반환하는 if 문

if (false)

if (null)

if (undefined)

if (0)

if (-0)

if (0n)

if (NaN)

if ("")

 

 

반응형

논리 연산자: 

1) || (OR) :  여러개 중 하나라도 true 일 경우 → true

                    즉, 모든값이 false 일때만 false 

    ▶ OR는 첫번째 true를 발견하는 즉시 평가 멈춤.

 

2) && (AND)모든값이 true 일 경우 → true

                       즉, 하나라도 false 이면 false 

    ▶ AND는 첫번째 false를 발견하는 즉시 평가 멈춤.

 

3) ! (NOT): true 이면→ false

                  false 이면→ true 

 

--------------------------------------------------------------------------------------------------------------------------------

 const name = "Mike";
 const age = 20;

 if(name === 'Tom' || age > 19){                → 이름이 Tom 이거나 나이가 19세 넘으면 '통과' 이므로 '통과'처리 
   console.log('통과');
 }

 

 

const age = prompt('나이가?');
const isAdult = age >19;

if(!isAdult){                                                → 나이가 성인(age>19)이 아니면 "돌아가." , 성인이면 "어서와."
  console.log('돌아가.')
}else{
  console.log('어서와.')
}

 

--------------------------------------------------------------------------------------------------------------------------------

우선순위

 : && 가 ||보다 우선순위가 높다 . 

// 남자이고, 이름이 Mike이거나 성인이면 통과 
const gender = 'F';
const name = 'Jane';
const isAdult = true;

if(gender === 'M' && name === 'Mike' || isAdult){
  console.log('통과')
}else{
  console.log('돌아가.')
}

→ 통과 처리됨. why?

&&연산자 앞뒤로 무조건 괄호()처리해서 뒤에 연산자와 계산한다고 보면됨.

 즉, gender === 'M' && name === 'Mike' || isAdult 

  (gender === 'M' && name === 'Mike')  || isAdult 

→  성이 남자인 Mike 이거나 어른이면 통과

→  즉, 어른이므로 통과 

반응형

<비교 연산자>

>    <=     >=     ==     !=

==    ←얘는 왜 부등호를 두개를 쓸까? 그 이유는 const a = 1 처럼 부등호 1개(=)는 변수 대입을 의미.

            즉, a == b는 'a와 b가 같다' 라는 동등 연산자!

            동등하면(==) 결과값이 true,

            불일치하면(!=) 결과값 false를 반환한다. 

----------------------------------------------------------------

const a = 1;   얘는 숫자

const b = "1";    얘는 문자열

근데

console.log(a == b);  →  true 가 나온다. 왜?

console.log(a === b);    → false . 일치 연산자(===)는 유형(type)까지 비교해주므로 가급적 얘를 쓰는 것이 좋다.

 

----------------------------------------------------------------

<조건문 if, else>

const age = 19; 

if(age > 19){
  console.log('환영 합니다.');
else if(age === 19) {
  console.log('수능 잘치세요.');

else {
  console.log('안녕히 가세요.');
}

console.log('---------------------')

반응형

+(더하기), -(빼기), *(곱하기), /(나누기), %(나머지)

 

*나머지(%)의 쓰임

홀수: X % 2 =            짝수: Y % 2 = 0           → 2로 나눴을 때, 1이 나오면 홀수, 0이 나오면 짝수

어떤 값이 들어와도 5를 넘기면 안될 때:

X % 5 = 0 ~ 4 사이의 값만 반환

 

*거듭제곱

const num = 2 ** 3;

console.log(num);   8     

        

*연산자 우선순위

   * /  > + -            → 곱셈과 나눗셈은 덧셈, 뺄셈보다 우선순위가 높음

 

*간편히 줄여쓰기

let num = 10; 
 num = num +5;        →    num += 5;
console.log(num);

 

*증가 연산자, 감소 연산자

let num = 10;
num++;    →  1씩 증가                

num--;      →  1씩 감소

 

let result = num++ ;      → 뒤에 적으면 증가시키기 이전의 값을 result에 넣음 → 10

let result = ++num ;      → 앞에 적으면 증가시킨 후의 값을 result에 넣음 → 11

console.log(result) 

 

 

 

 

 

 

 

반응형

String() →  문자형으로 변환

Number() → 숫자형으로 변환

Boolean()  →  불린형으로 변환 

→ 젤 첫자리는 무조건 대문자로 써줘야함.

-----------------------------------------------------------------------------------------------------------

const mathScore = prompt("수학 몇점?");    → 50 입력
const engScore = prompt("영어 몇점?");      → 50 입력
const result = (mathScore + engScore)/ 2;
console.log(result)            →   2525 가 나옴.

 

**왜 25가 아닌 2525가 나올까?? 

 prompt 로 입력한 값은 무조건 "문자형"으로 처리됨. 따라서 입력한 50은 '문자'로 받아들임.

즉, 50(문자)+ 50(문자) = 5050(그대로 이어줌) 

5050 / 2 = 2525    →    /(나누기) 같은 표현식은 5050(문자)처럼 숫자형이 아니더라도 숫자형으로 자동변환되어 계산됨. → 자동 형변환

의도를 가지고 원하는 형 변환 → 명시적 형변환 을 해주는게 좋음. 

 

-----------------------------------------------------------------------------------------------------------

1) 문자형 변환

 console.log(

  String(2),                       

  String(true),

  String(false),                    →   "2", "true", "false", "null", "undefined"  (문자열로 변환)

  String(null),

  String(undefined),

)

2) 숫자형 변환

console.log(

 Number("1234")            → 1234

)

console.log(

 Number("rkdle12")            → NaN   (문자열을 넣을 경우 NaN이 나오므로 주의)

)

console.log(

 Number(true),            → 1 

 Number(false)            → 0

)

*주의사항*

Number(null)   →0               *prompt에서 취소를 누르면 → null이 입력됨 →null을 숫자형으로 변환하면 0

Number(undefined)  → NaN

 

3)불린형 변환

false : console.log(
 Boolean(0),
 Boolean(""),
 Boolean(null),
 Boolean(undefined),
 Boolean(NaN)
)                                      → 그 외에는 다 true 반환 

 

*주의사항*

Boolean(0)  false         Boolean('0')  true  (문자형0은 true반환)

Boolean('')   false          Boolean('  ') →  true  (공백이 들어간 열은 true반환)

숫자0 이나 ''(빈문자열)은 false 이나, 문자형0 이나 공백이 들어간 열은 true 

반응형

●대화상자 3가지 

alert        알려줌 

prompt   입력 받음

confirm   확인 받음

 

1. alert()

일반적으로 대화창을 띄우는 용도 ex. 비밀번호를 입력해주세요, 회원가입을 해주세요. 

2. prompt()

 ; 입력받는 창   → 취소 누르면 null 반환

 const name = prompt("이름을 입력하세요.");    →  이름 입력
 alert("환영합니다," + name + "님");    →  환영합니다, 이름님

 alert(`안녕하세요, ${name}님. 환영합니다.`);    → 안녕하세요, 이름님. 환영합니다. 

 

*디폴트값 사용

const name = prompt("예약일을 입력해주세요.", "2020-10-");    첫번째값= 대화창 질문내용, 두번째값= 입력받을 디폴트값

console.log(name);

 

 

3. confirm()

; 사용자에게 확인받기 위한 창

const isAdult = confirm("당신은 성인 입니까?");  → 확인: true/  취소: false

console.log(isAdult);

 

**단점은?

1) 스크립트 일시 정지 

  창이 떠 있을 때는 다른 화면 작동 안되므로 작업 못함.

2) 스타일링 안됨

   디자인을 할 수 없음

 

반응형

<문자형>

㉮ const name1 = "Mike"       //큰 따옴표 

㉯ const name2 = 'Mike'        //작은 따옴표 

㉰ const name3 = `Mike`       //백틱 

 

const message = "I'm a boy.";         //문자 안에 '(작은따옴표)를 사용해야 하는 경우 큰 따옴표로 감싸주면 쉽게 처리

const message2 = 'I\'m a boy.';       //작은따옴표 안에 작은 따옴표를 쓸 때는 바로 앞에 역슬래쉬\를 넣어주면 특수문자로 읽힘

const message3 = `My name is ${name}`;         // 백틱`을 사용하면 문자열 내부 변수를 표현해줄 때 편리. ${}안에 변수   console.log(message3);    →  "My name is Mike" 

**여기서 백틱` 말고 일반 따옴표""를 사용할 시 **

const message3 = "My name is ${name}";

console.log(message3);    →  "My name is ${name}"     // 그대로 변수가 노출되므로 주의!

 

const message4 = `나는 ${30+1}살 입니다.`;          

 console.log(message4);      →   "나는 31살 입니다."

 

-----------------------------------------------------------------------------------------------------------------------------------------------

<숫자형>

const age = 30;
const PI = 3.14;
-------------------------------------------------
console.log(1 + 2);       덧셈
console.log(10 - 3);      뺄셈
console.log(3 * 2);        곱셈
console.log(6 / 3);         나누기
console.log(6 % 4);       나머지

------------------------------------------------------

const x = 1/0;        //1을 0으로 나눈 값

console.log(x);      → Infinity (무한대)

------------------------------------------------------

const name ="Mike";

const y = name/2;       //문자열을 숫자로 나눈 값

console.log(y)           //NaN(==Not a number)

 

**문자열+(숫자)+문자열**

const name ="GangMi";

const a = "나는 ";
const b = " 입니다.";

console.log(a + name + b);    → "나는 GangMi 입니다."

const age = 30;
console.log(a + age + "살" + b);     →"나는 30살 입니다." 

 

 

---------------------------------------------------------------------------------------------------------------------------------------

<Boolean; 참과 거짓>

const a = true;
const b = false;

const name = "Mike";
const age = 30;

console.log(name == 'Mike')       //true
console.log(age > 40)                 //false

 

-----------------------------------------------------------------------------------------------------------------------------------------

<null 과 undefined>

null: 존재하지 않는 값

undefined: 값이 할당되지 않음

 

let age;                          → 변수에 아무런 값을 할당하지 않음.

console.log(age);          → undefined

 

let user = null;         → user는 존재하지 않는 값 

 

-----------------------------------------------------------------------------------------------------------------------------------------

<typeof 연산자>

const name = "Mike";

 

console.log(typeof 3);                   →  "number

console.log(typeof name);            →  "string"

console.log(typeof true);               →  "boolean"

console.log(typeof "xxx");             →  "string"

console.log(typeof null);                →  "object"   //객체형  (null은 객체가 아님.)

console.log(typeof undefined);     →  "undefined"

 

*다른 사람 코드를 읽을 때 어떤 연산자인지 파악할 때 용이 

 

 

 

반응형

+ Recent posts