TIL 211004
제로초 js 강의
2-7 / 2-8 / 2-9 / 2-10
2-11 / 2-12 / 2-13 / 2-14
2-15 / 2-16
1) 논리 연산자(and,or)
- &&(and)
- 양쪽 모두 참이면, true이다. -> 한 쪽이라도 거짓이면, false이다.
- (10 > 5) && (6 < 8); 
 
- ||(or)
- 한 쪽만 참이어도 true이다.
- (10 > 5) || (6 > 8);
 
- !
- !가 앞에 있으면 성질을 반대로 바꾼다 true면 false가 되고 / false면 true가 된다.
- !true -> false
- 응용
- 자료를 boolean으로 바꾸기
- !!'a' (앞에 !!붙이면 된다)
 
- 암기 : boolean으로 형변환하면, false나오는 것들- 
- false,0,NaN,'',undefined,null이것들 앞에 
- '  ' 띄워쓴 빈 문자열은 true이다
- 주의사항 : undefined를 boolean으로 형변환하면, false이지만, undefined와 false는 다른 값이다. 나머지 6개도 마찬가지이다.
 
 
 
- undefined
- 빈 값을 의미한다.
- 1+3 -> 4처럼 컴퓨터는 결과값이 있을 때는 해당 값을 돌려준다. 그러나 돌려 줄 값이 없을 때는- undefined를 돌려준다.- 
- 에시 : 변수 선언할  때,
 
 
- null
- undefined와 마찬가지로 빈 값이다. 의도적으로 쓰는 빈 값이다.
 
2) 변수 만들기
- let
- let a = 3;(변수 선언문)
- 3을 a에 저장한다.
- 변수 선언하면, undefined가 출력된다.
- 변수 선언 한번만 해야한다. 두번하면 오류뜬다.
 
- let a;
- a는 값이 초기화 되지 않은 상태 -> 기본값이다.
- a입력하면, undefined가 출력된다.
 
 
3)변수 이름 짓기
- 변수명에 쓸수 있는 특수기호
- _ $
 
- 띄워쓰기 불가능
- 방법 : greenApple
- 띄워쓰기 대신에 대문자를 쓴다.
 
4)변수에 저장된 값 바꾸기
- let a = 3;
- a = 4;
- 값을 바꿀 때, let은 쓰면 안된다. 한번만 써야함
- 이때는 변수 선언할 때와 달리 결과값을 출력한다.(4를 출력한다.)
 
- 변수를 빈 값으로 만드는 방법
- null을 써라
- let a = null;
 
5) number+=3;
- 의미 number = number + 3;
6) const
- const b = 3;
- let과 달리 변수에 저장된 값을 못바꾼다.
- 에러 발생하는 경우
- 변수 선언하고 값을 바꾸려 할 때,
- b = 4;
 
- const b; 처럼 변수 선언할 때, 값을 안넣은 경우
- 이유 : const는 값을 못바꾸기 때문에, 선언할 때, 변수에 값을 넣어야 한다.
 
 
 
7) var
- 지금은 안씀, 오래된 코드에서 볼 수 있다.
- 변수 선언을 2번이상 해도 오류가 뜨지 않는다.
 
8) 조건문 if
if(조건식){
	동작문
}
- 원리 조건이 참이 되면, 동작문을 실행한다.
9) 조건문 else
if(false){
  console.log('a');
} 
else {
  console.log('b');
}
- 조건문이 참을 만족시키지 못하면, else의 동작문이 실행된다.
10) 조건문 else if
if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}
- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
- 양쪽 모두 참이면, true이다. -> 한 쪽이라도 거짓이면, false이다.
- (10 > 5) && (6 < 8);
- 한 쪽만 참이어도 true이다.
- (10 > 5) || (6 > 8);
- !가 앞에 있으면 성질을 반대로 바꾼다 true면 false가 되고 / false면 true가 된다.
- !true -> false
- 응용- 자료를 boolean으로 바꾸기- !!'a' (앞에 !!붙이면 된다)
 
- 암기 : boolean으로 형변환하면, false나오는 것들- false,0,NaN,'',undefined,null이것들 앞에
- ' ' 띄워쓴 빈 문자열은 true이다
- 주의사항 : undefined를 boolean으로 형변환하면, false이지만, undefined와 false는 다른 값이다. 나머지 6개도 마찬가지이다.
 
 
- 자료를 boolean으로 바꾸기
- 빈 값을 의미한다.
- 1+3 -> 4처럼 컴퓨터는 결과값이 있을 때는 해당 값을 돌려준다. 그러나 돌려 줄 값이 없을 때는- undefined를 돌려준다.- 에시 : 변수 선언할 때,
 
- undefined와 마찬가지로 빈 값이다. 의도적으로 쓰는 빈 값이다.
- let- let a = 3;(변수 선언문)- 3을 a에 저장한다.
- 변수 선언하면, undefined가 출력된다.
- 변수 선언 한번만 해야한다. 두번하면 오류뜬다.
 
- let a;- a는 값이 초기화 되지 않은 상태 -> 기본값이다.
- a입력하면, undefined가 출력된다.
 
 
- let a = 3;(변수 선언문)
3)변수 이름 짓기
- 변수명에 쓸수 있는 특수기호
- _ $
 
- 띄워쓰기 불가능
- 방법 : greenApple
- 띄워쓰기 대신에 대문자를 쓴다.
 
4)변수에 저장된 값 바꾸기
- let a = 3;
- a = 4;
- 값을 바꿀 때, let은 쓰면 안된다. 한번만 써야함
- 이때는 변수 선언할 때와 달리 결과값을 출력한다.(4를 출력한다.)
 
- 변수를 빈 값으로 만드는 방법
- null을 써라
- let a = null;
 
5) number+=3;
- 의미 number = number + 3;
6) const
- const b = 3;
- let과 달리 변수에 저장된 값을 못바꾼다.
- 에러 발생하는 경우
- 변수 선언하고 값을 바꾸려 할 때,
- b = 4;
 
- const b; 처럼 변수 선언할 때, 값을 안넣은 경우
- 이유 : const는 값을 못바꾸기 때문에, 선언할 때, 변수에 값을 넣어야 한다.
 
 
 
7) var
- 지금은 안씀, 오래된 코드에서 볼 수 있다.
- 변수 선언을 2번이상 해도 오류가 뜨지 않는다.
 
8) 조건문 if
if(조건식){
	동작문
}
- 원리 조건이 참이 되면, 동작문을 실행한다.
9) 조건문 else
if(false){
  console.log('a');
} 
else {
  console.log('b');
}
- 조건문이 참을 만족시키지 못하면, else의 동작문이 실행된다.
10) 조건문 else if
if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}
- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
- _ $
- 방법 : greenApple
- 띄워쓰기 대신에 대문자를 쓴다.
- let a = 3;
- a = 4;- 값을 바꿀 때, let은 쓰면 안된다. 한번만 써야함
- 이때는 변수 선언할 때와 달리 결과값을 출력한다.(4를 출력한다.)
 
- 변수를 빈 값으로 만드는 방법- null을 써라
- let a = null;
 
5) number+=3;
- 의미 number = number + 3;
6) const
- const b = 3;
- let과 달리 변수에 저장된 값을 못바꾼다.
- 에러 발생하는 경우
- 변수 선언하고 값을 바꾸려 할 때,
- b = 4;
 
- const b; 처럼 변수 선언할 때, 값을 안넣은 경우
- 이유 : const는 값을 못바꾸기 때문에, 선언할 때, 변수에 값을 넣어야 한다.
 
 
 
7) var
- 지금은 안씀, 오래된 코드에서 볼 수 있다.
- 변수 선언을 2번이상 해도 오류가 뜨지 않는다.
 
8) 조건문 if
if(조건식){
	동작문
}
- 원리 조건이 참이 되면, 동작문을 실행한다.
9) 조건문 else
if(false){
  console.log('a');
} 
else {
  console.log('b');
}
- 조건문이 참을 만족시키지 못하면, else의 동작문이 실행된다.
10) 조건문 else if
if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}
- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
- const b = 3;- let과 달리 변수에 저장된 값을 못바꾼다.
- 에러 발생하는 경우- 변수 선언하고 값을 바꾸려 할 때,- b = 4;
 
- const b; 처럼 변수 선언할 때, 값을 안넣은 경우- 이유 : const는 값을 못바꾸기 때문에, 선언할 때, 변수에 값을 넣어야 한다.
 
 
- 변수 선언하고 값을 바꾸려 할 때,
 
7) var
- 지금은 안씀, 오래된 코드에서 볼 수 있다.
- 변수 선언을 2번이상 해도 오류가 뜨지 않는다.
 
8) 조건문 if
if(조건식){
	동작문
}
- 원리 조건이 참이 되면, 동작문을 실행한다.
9) 조건문 else
if(false){
  console.log('a');
} 
else {
  console.log('b');
}
- 조건문이 참을 만족시키지 못하면, else의 동작문이 실행된다.
10) 조건문 else if
if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}
- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
- 변수 선언을 2번이상 해도 오류가 뜨지 않는다.
if(조건식){
	동작문
}- 원리 조건이 참이 되면, 동작문을 실행한다.
9) 조건문 else
if(false){
  console.log('a');
} 
else {
  console.log('b');
}
- 조건문이 참을 만족시키지 못하면, else의 동작문이 실행된다.
10) 조건문 else if
if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}
- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
if(false){
  console.log('a');
} 
else {
  console.log('b');
}if(false){
  console.log('a');
} 
else if(조건){
  console.log('b');
} 
else {
}- else if 여러번 쓸 수 있음
- else 없어도 된다.
- if는 있어야 한다.
11)중첩 조건문
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}
- 되도록이면, 중첩 조건문을 쓰지마라, 다르게 표현하려고 노력해라
- 부작용 : 콜백지옥
 
- 중첩조건문 피하는 방법
- 조건문과 논리연산자(and,or)를 같이 쓴다.
 
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}
12) 조건문 switch(핵심 break;)
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}
- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}
- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}
- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.
- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
if(false){
  console.log('a');
  if(false){
    console.log('a');
  } 
  else {
    console.log('b');
  }
} 
else {
  console.log('b');
}- 부작용 : 콜백지옥
- 조건문과 논리연산자(and,or)를 같이 쓴다.
if(false && false){
  console.log('a');
} 
else if(false && true){
  console.log('b');
} 
else {
}let value = 'a';
switch (value){
  case 'a':
    console.log('a');
}- switch의 조건식과 case의 비교조건식이 일치하면, 동작문을 실행한다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
    break;
  case 'b':
    console.log('b');
    break;
  case 'c':
    console.log('c');
    break;
}- 조건문과 비교조건문이 일치하는 console.log('a'); 실행된다.
let value = 'a';
switch (value){
  case 'a':
    console.log('a');
  case 'b':
    console.log('b');
  case 'c':
    console.log('c');
  default:
    console.log('f');
}- 이때는 console.log('a'); console.log('b');console.log('c'); 3개다 실행된다.- switch문은 동작문이 실행되면, break;가 없으면, 밑에 위치한 동작문 전부를 실행한다
 
default:
console.log('f');	
- 의미: 조건문에서 else의 역할과 같다.
13) 조건부 연산자(삼항 연산자)
- 5 > 0 ? '참입니다' : '거짓입니다.'
- 조건식 ? 참일 때 실행문 : 거짓일 때, 실행문
 
- let a=5 > 0 ? '참입니다' : '거짓입니다.'
- 5>0 조건식은 참이다 -> 참일 때, 동작문이 변수 a에 저장된다.
 
- 중첩된 조건부 연산자1
- let value = condition1 ? condition2 ? '둘다 참' : 'condition1만 참' : 'condition1만 거짓';
- 해당 문장에 ?가 2개이므로 조건부 연산자가 중첩이 되었다.
- let value = condition1 ? (condition2 ? 둘다 참 : condition1만 참) : condition1만 거짓;
- 괄호로 묶어서 생각하자
 
 
 
- 중첩된 조건부 연산자2
- let value = condition1 ? 'condition1이 참' : condition2 ? 'condition2가 참' : '둘다 거짓'
- let value = condition1 ? 'condition1이 참' : (condition2 ? 'condition2가 참' : '둘다 거짓')
 
 
14) 반복문
- while
while(조건식){
	동작문
}
- 조건이 참이면, 동작문을 계속 실행시킨다.
- 무한 반복문을 만들지 않는 방법
let i = 1;
while(i<=100){
  console.log('zero');
  i+=1
}
- 여기서 i+=1과i++동일하다.
- 두 식의 의미가 다른 경우도 있음
 
- 조건식 뒤에는 ;붙이면 안된다.
Author And Source
                            
                            이 문제에 관하여(TIL 211004), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@devyoon99/TIL-211004
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
- 조건식 ? 참일 때 실행문 : 거짓일 때, 실행문
- 5>0 조건식은 참이다 -> 참일 때, 동작문이 변수 a에 저장된다.
- let value = condition1 ? condition2 ? '둘다 참' : 'condition1만 참' : 'condition1만 거짓';- 해당 문장에 ?가 2개이므로 조건부 연산자가 중첩이 되었다.
- let value = condition1 ? (condition2 ? 둘다 참 : condition1만 참) : condition1만 거짓;- 괄호로 묶어서 생각하자
 
 
- let value = condition1 ? 'condition1이 참' : condition2 ? 'condition2가 참' : '둘다 거짓'- let value = condition1 ? 'condition1이 참' : (condition2 ? 'condition2가 참' : '둘다 거짓')
 
- while
while(조건식){
	동작문
}- 조건이 참이면, 동작문을 계속 실행시킨다.
- 무한 반복문을 만들지 않는 방법
let i = 1;
while(i<=100){
  console.log('zero');
  i+=1
}- 여기서 i+=1과i++동일하다.- 두 식의 의미가 다른 경우도 있음
 
- 조건식 뒤에는 ;붙이면 안된다.
Author And Source
이 문제에 관하여(TIL 211004), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@devyoon99/TIL-211004저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)