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.)
- 조건식 ? 참일 때 실행문 : 거짓일 때, 실행문
- 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.)