[TIL]JS演算と条件文
26862 ワード
1.算術、代入演算 var++ // var에 1더하기
var-- // var에 1빼기
++var // var에 1더하기
--var // var에 1빼기
var += 2 // var = var + 2
var *= 2 // var = var * 2
var++と++varの違い!!
2.比較演算 == // 동일한 값 (10 == '10' 참!)
=== // 동일한 값과 동일한 유형
!= // 같지 않음
3.論理演算 and, or, not
and = 곱 = &&
or = 합 = ||
true = 1
false = 0
3.2論理演算問題(了解)
1. false || true
>true
2. true && false
>false
2.1 false ||false
>false
3. !true
>false
4. !((true && false) || (true && false))
!(f || f)
!false
>true
5. let x = 10
!((x % 5 == 0 && x % 2 ==0) || (x / 2 == 5 && false))
!((0 == 0 && 0 == 0)||(5==5 && false))
!((true and true) || 앞에가 트루니까 이건사실 볼 필요도 없음)
!(true || false)
!true
>false
6. let y = 10
(false && y % 2 == 0) && (y / 2 == 5 && false)
false 와 and 가 나왔으니 볼것도없이 false
(f and 0==0) and (5==5 and f)
f and f
>true
7. let z = 3
(true && z % 3 == 0) || (z / 2 !=!=5 && false)
//!=!=는 잘못된문법
(t and t) or (error and f)
t or error
>error
4.typeof、フォーマットの変換
次の例では、理解ではなく暗記する必要がある部分も多い.
今は全部背負わないで、トランスフォーマーを背負うだけだ.
typeof()
かっこ内のデータ型を返します.// 숫자 -> 문자열
123 + ''
'123'
// !는 부정을 의미. 이중부정을 통한 불리언값 반환
!!true
true
//''는 거짓. ' '는 참.(여백있음) '아무말'도 참
!!'hojun'
true
!!''
false
!!1
true
!!0
false
!!undefined
false
!!NaN
false
!true
false
!(!true)
true
'0' == 0
true
0 == ''
true
0 == '0'
true
//불리언의 false와 문자열인 'false'는 완전히 다름
false == 'false'
false
false == '0'
true
false == null
false
false == undefined
false
false == NaN
false
!!null
false
!!undefined
false
!!NaN
false
Boolean('false')
true
// false와 숫자 0은 엄연히 다름
false === 0
false
//그러나 의미적(?)으로는 같다
false == 0
true
//문자열 '0'과도 같다고 하는데, 이런 부분부터는 외워야 한다
false == '0'
true
let x = '10000'
undefined
//문자열인 '10000'을 숫자로 변환!
//Number() <- 이런 방법도 있지만 너무 효율성이 떨어짐
+x
10000
// - 를 붙이면서 숫자로의 변환도 가능하다. 그러나 + 와 - 는 차이가 있다
-x
-10000
+x
10000
// 애스터리스크로 곱하기를 통해 변환도 가능
x * 1
10000
+x
10000
x = -10000
-10000
x = '-10000'
'-10000'
+x
-10000
x = +x
-10000
x
-10000
Number('10')
10
parseInt('1230123', 10)
1230123
//parseInt는 숫자인 부분 까지만 변환해준다. 뒤의 10은 10진법을 의미
parseInt('1230123asdfasdf', 10)
1230123
x = '123asdfasdf'
'123asdfasdf'
//parseInt는 숫자인 부분까지 변환해주는 친절한 아이지만, +는 NaN을 반환
+x
NaN
条件文
5.1文の場合
if (조건1) {
조건이 true일 때 실행되는 코드
} else if(조건2) {
조건1이 false이고 조건2가 true일 때 실행되는 코드
} else {
조건1, 2 모두 false일 경우 실행되는 코드
}
もし中にif (true) {
console.log(1);
if (true) {
console.log(2);
}
}
以上の場合、1,2ともに出力されます.
ただし、最上位if文がfalseの場合、次の条件文も実行されません.
if以外のif.もう一つifif (true) {
console.log(1);
}
if (true) {
console.log(2);
}
上記の場合も1,2でも出力可能です.
個別の条件文であるため、最上位レベルの条件文が偽であっても、次の条件文が実行されます.if (false) {
console.log(1);
} else if(true) {
console.log(2);
} else if(false) {
console.log(3);
}
if (true) {
console.log(4);
}
if (false) {
console.log(5);
} else if(true) {
console.log(6);
} else if(false) {
console.log(7);
} else {
console.log(99);
}
>2 4 6
else:「そうでなければ」、すなわち、参加条件がすでに実行されている場合は、elseの後ろを表示する必要はありません.
5.2スイッチドア
switch (new Date().getDay()) {
case 0:
document.write('일요일입니다.')
break;
case 1:
document.write('월요일입니다.')
break;
case 2:
document.write('화요일입니다.')
break;
case 3:
document.write('수요일입니다.')
break;
default:
break;
}
new Date().getDay()
#今日の曜日を数字で出力します.
日曜日から0日で始まります.
var++ // var에 1더하기
var-- // var에 1빼기
++var // var에 1더하기
--var // var에 1빼기
var += 2 // var = var + 2
var *= 2 // var = var * 2
== // 동일한 값 (10 == '10' 참!)
=== // 동일한 값과 동일한 유형
!= // 같지 않음
3.論理演算 and, or, not
and = 곱 = &&
or = 합 = ||
true = 1
false = 0
3.2論理演算問題(了解)
1. false || true
>true
2. true && false
>false
2.1 false ||false
>false
3. !true
>false
4. !((true && false) || (true && false))
!(f || f)
!false
>true
5. let x = 10
!((x % 5 == 0 && x % 2 ==0) || (x / 2 == 5 && false))
!((0 == 0 && 0 == 0)||(5==5 && false))
!((true and true) || 앞에가 트루니까 이건사실 볼 필요도 없음)
!(true || false)
!true
>false
6. let y = 10
(false && y % 2 == 0) && (y / 2 == 5 && false)
false 와 and 가 나왔으니 볼것도없이 false
(f and 0==0) and (5==5 and f)
f and f
>true
7. let z = 3
(true && z % 3 == 0) || (z / 2 !=!=5 && false)
//!=!=는 잘못된문법
(t and t) or (error and f)
t or error
>error
4.typeof、フォーマットの変換
次の例では、理解ではなく暗記する必要がある部分も多い.
今は全部背負わないで、トランスフォーマーを背負うだけだ.
typeof()
かっこ内のデータ型を返します.// 숫자 -> 문자열
123 + ''
'123'
// !는 부정을 의미. 이중부정을 통한 불리언값 반환
!!true
true
//''는 거짓. ' '는 참.(여백있음) '아무말'도 참
!!'hojun'
true
!!''
false
!!1
true
!!0
false
!!undefined
false
!!NaN
false
!true
false
!(!true)
true
'0' == 0
true
0 == ''
true
0 == '0'
true
//불리언의 false와 문자열인 'false'는 완전히 다름
false == 'false'
false
false == '0'
true
false == null
false
false == undefined
false
false == NaN
false
!!null
false
!!undefined
false
!!NaN
false
Boolean('false')
true
// false와 숫자 0은 엄연히 다름
false === 0
false
//그러나 의미적(?)으로는 같다
false == 0
true
//문자열 '0'과도 같다고 하는데, 이런 부분부터는 외워야 한다
false == '0'
true
let x = '10000'
undefined
//문자열인 '10000'을 숫자로 변환!
//Number() <- 이런 방법도 있지만 너무 효율성이 떨어짐
+x
10000
// - 를 붙이면서 숫자로의 변환도 가능하다. 그러나 + 와 - 는 차이가 있다
-x
-10000
+x
10000
// 애스터리스크로 곱하기를 통해 변환도 가능
x * 1
10000
+x
10000
x = -10000
-10000
x = '-10000'
'-10000'
+x
-10000
x = +x
-10000
x
-10000
Number('10')
10
parseInt('1230123', 10)
1230123
//parseInt는 숫자인 부분 까지만 변환해준다. 뒤의 10은 10진법을 의미
parseInt('1230123asdfasdf', 10)
1230123
x = '123asdfasdf'
'123asdfasdf'
//parseInt는 숫자인 부분까지 변환해주는 친절한 아이지만, +는 NaN을 반환
+x
NaN
条件文
5.1文の場合
if (조건1) {
조건이 true일 때 실행되는 코드
} else if(조건2) {
조건1이 false이고 조건2가 true일 때 실행되는 코드
} else {
조건1, 2 모두 false일 경우 실행되는 코드
}
もし中にif (true) {
console.log(1);
if (true) {
console.log(2);
}
}
以上の場合、1,2ともに出力されます.
ただし、最上位if文がfalseの場合、次の条件文も実行されません.
if以外のif.もう一つifif (true) {
console.log(1);
}
if (true) {
console.log(2);
}
上記の場合も1,2でも出力可能です.
個別の条件文であるため、最上位レベルの条件文が偽であっても、次の条件文が実行されます.if (false) {
console.log(1);
} else if(true) {
console.log(2);
} else if(false) {
console.log(3);
}
if (true) {
console.log(4);
}
if (false) {
console.log(5);
} else if(true) {
console.log(6);
} else if(false) {
console.log(7);
} else {
console.log(99);
}
>2 4 6
else:「そうでなければ」、すなわち、参加条件がすでに実行されている場合は、elseの後ろを表示する必要はありません.
5.2スイッチドア
switch (new Date().getDay()) {
case 0:
document.write('일요일입니다.')
break;
case 1:
document.write('월요일입니다.')
break;
case 2:
document.write('화요일입니다.')
break;
case 3:
document.write('수요일입니다.')
break;
default:
break;
}
new Date().getDay()
#今日の曜日を数字で出力します.
日曜日から0日で始まります.
and, or, not
and = 곱 = &&
or = 합 = ||
true = 1
false = 0
1. false || true
>true
2. true && false
>false
2.1 false ||false
>false
3. !true
>false
4. !((true && false) || (true && false))
!(f || f)
!false
>true
5. let x = 10
!((x % 5 == 0 && x % 2 ==0) || (x / 2 == 5 && false))
!((0 == 0 && 0 == 0)||(5==5 && false))
!((true and true) || 앞에가 트루니까 이건사실 볼 필요도 없음)
!(true || false)
!true
>false
6. let y = 10
(false && y % 2 == 0) && (y / 2 == 5 && false)
false 와 and 가 나왔으니 볼것도없이 false
(f and 0==0) and (5==5 and f)
f and f
>true
7. let z = 3
(true && z % 3 == 0) || (z / 2 !=!=5 && false)
//!=!=는 잘못된문법
(t and t) or (error and f)
t or error
>error
次の例では、理解ではなく暗記する必要がある部分も多い.
今は全部背負わないで、トランスフォーマーを背負うだけだ.
typeof()
かっこ内のデータ型を返します.
// 숫자 -> 문자열
123 + ''
'123'
// !는 부정을 의미. 이중부정을 통한 불리언값 반환
!!true
true
//''는 거짓. ' '는 참.(여백있음) '아무말'도 참
!!'hojun'
true
!!''
false
!!1
true
!!0
false
!!undefined
false
!!NaN
false
!true
false
!(!true)
true
'0' == 0
true
0 == ''
true
0 == '0'
true
//불리언의 false와 문자열인 'false'는 완전히 다름
false == 'false'
false
false == '0'
true
false == null
false
false == undefined
false
false == NaN
false
!!null
false
!!undefined
false
!!NaN
false
Boolean('false')
true
// false와 숫자 0은 엄연히 다름
false === 0
false
//그러나 의미적(?)으로는 같다
false == 0
true
//문자열 '0'과도 같다고 하는데, 이런 부분부터는 외워야 한다
false == '0'
true
let x = '10000'
undefined
//문자열인 '10000'을 숫자로 변환!
//Number() <- 이런 방법도 있지만 너무 효율성이 떨어짐
+x
10000
// - 를 붙이면서 숫자로의 변환도 가능하다. 그러나 + 와 - 는 차이가 있다
-x
-10000
+x
10000
// 애스터리스크로 곱하기를 통해 변환도 가능
x * 1
10000
+x
10000
x = -10000
-10000
x = '-10000'
'-10000'
+x
-10000
x = +x
-10000
x
-10000
Number('10')
10
parseInt('1230123', 10)
1230123
//parseInt는 숫자인 부분 까지만 변환해준다. 뒤의 10은 10진법을 의미
parseInt('1230123asdfasdf', 10)
1230123
x = '123asdfasdf'
'123asdfasdf'
//parseInt는 숫자인 부분까지 변환해주는 친절한 아이지만, +는 NaN을 반환
+x
NaN
条件文
5.1文の場合
if (조건1) {
조건이 true일 때 실행되는 코드
} else if(조건2) {
조건1이 false이고 조건2가 true일 때 실행되는 코드
} else {
조건1, 2 모두 false일 경우 실행되는 코드
}
もし中にif (true) {
console.log(1);
if (true) {
console.log(2);
}
}
以上の場合、1,2ともに出力されます.
ただし、最上位if文がfalseの場合、次の条件文も実行されません.
if以外のif.もう一つifif (true) {
console.log(1);
}
if (true) {
console.log(2);
}
上記の場合も1,2でも出力可能です.
個別の条件文であるため、最上位レベルの条件文が偽であっても、次の条件文が実行されます.if (false) {
console.log(1);
} else if(true) {
console.log(2);
} else if(false) {
console.log(3);
}
if (true) {
console.log(4);
}
if (false) {
console.log(5);
} else if(true) {
console.log(6);
} else if(false) {
console.log(7);
} else {
console.log(99);
}
>2 4 6
else:「そうでなければ」、すなわち、参加条件がすでに実行されている場合は、elseの後ろを表示する必要はありません.
5.2スイッチドア
switch (new Date().getDay()) {
case 0:
document.write('일요일입니다.')
break;
case 1:
document.write('월요일입니다.')
break;
case 2:
document.write('화요일입니다.')
break;
case 3:
document.write('수요일입니다.')
break;
default:
break;
}
new Date().getDay()
#今日の曜日を数字で出力します.
日曜日から0日で始まります.
if (조건1) {
조건이 true일 때 실행되는 코드
} else if(조건2) {
조건1이 false이고 조건2가 true일 때 실행되는 코드
} else {
조건1, 2 모두 false일 경우 실행되는 코드
}
if (true) {
console.log(1);
if (true) {
console.log(2);
}
}
if (true) {
console.log(1);
}
if (true) {
console.log(2);
}
if (false) {
console.log(1);
} else if(true) {
console.log(2);
} else if(false) {
console.log(3);
}
if (true) {
console.log(4);
}
if (false) {
console.log(5);
} else if(true) {
console.log(6);
} else if(false) {
console.log(7);
} else {
console.log(99);
}
>2 4 6
switch (new Date().getDay()) {
case 0:
document.write('일요일입니다.')
break;
case 1:
document.write('월요일입니다.')
break;
case 2:
document.write('화요일입니다.')
break;
case 3:
document.write('수요일입니다.')
break;
default:
break;
}
new Date().getDay()
の結果は2になります.Reference
この問題について([TIL]JS演算と条件文), 我々は、より多くの情報をここで見つけました https://velog.io/@jay__ss/TIL-JS-연산과-조건문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol