console.log(a - b);
console.log(a * b);
console.log(a / b);
console.log(a ** b); 제곱
console.log(a % b); 나머지
여기에서 '='는 대입이지 같다라는 뜻이 아니다.
a += b //a = a + b
a /= b //a = a / b
a == b : 같다(데이터 타입이 달라도)
a === b : 같다(타입까지 같다)
* ===가 속도가 더 빠르다.
a > b
a >= b
a < b
a <= b
a != b : 다르다
&&(and) = 논리곱
||(or) = 논리합
!(not) = 부정
true == 1
false == 0
!(x || y) === (!x && !y)
!(x && y) === (!x || !y)
true && '완료' || '미완료';
? 앞에꺼가 true면 1을 출력하고 틀리면 2를 출력하라
true? console.log(1) : console.log(2)
-> 1을 출력
let value = 10;
value % 2 == 0? console.log(1) : console.log(2)
-> 1을 출력
typeof는 변수의 데이터 타입을 반환하는 연산자
x를 string
으로 바꾸려면 x + ''
x를 boolean
으로 바꾸려면 !!x
String(123) / x.toString()
은 잘 안 쓴다. (case마다 다르지만,,,)
123 + ''
->'123'
!!true
->true
!!'hojun'
-> true
!!''
->false
!!1
->true
!!0
->false
!!undefined
->false
!!NaN
-> false
string을 숫자로 만드는건
+x
-> 10000
안전하게 바꾸려면 parseInt 사용한다. 왜냐하면!
parseInt('123456abcd', 10)
-> 123456
x = '123456abcd'
+x
-> NaN
Number
는 주된 용도가 생성자로 숫자를 만들어내려고 사용하는데 형변환도 가능한 것이다.
원래부터 형변환을 염두해둔 method인 parseInt
를 쓰는게 맞다.
참고링크:
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number
후.. 자바스크립트.. 너 이게 최선이니?
let x = 10;
if (x < 100){
console.log('100보다 작아요!')
}
-> 100보다 작아요!
if ( x > 100){
console.log('100보다 커요!')
}
-> undefined
()안이 true여야 실행.
중첩해서 사용도 가능
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
let score = 89;
let money = 100000;
if(score >= 90){
console.log('mom : i\'m so happy!!');
money += 1000000;
} else if(score >= 80){
console.log('mom : i\'m so happy~');
money += 100000;
} else if(score >= 70){
console.log('mom : i\'m so happy.');
money += 10000;
} else if(score >= 60){
console.log('mom : happy?');
money += 10000;
} else {
console.log('...')
money += 0;
}
-> mom : i'm so happy~
-> 200000
* 이스케이프 문자
문자열 그대로를 표현하고 싶을 때 사용
switch(1){
case 0:
console.log('일요일!!');
break;
case 1:
console.log('월요일!!');
break;
case 2:
console.log('화요일!!');
break;
case 3:
console.log('수요일!!');
break;
default:
console.log('요일없음');
break;
}
-> 월요일!!
let cars = ["BMW", "Volvo", "Saab", "Ford", "Flat", "Audi"];
cars[0]
-> 'BMW'
let result = 0;
for(let i=0; i<111; i++){
result += i;
}
console.log(result);
-> 6105
let result = 0;
for(let i=0; i<101; i+=2){
result += i;
}
console.log(result);
-> 2550
i++는 1씩 증가!
2의 배수는 i+=2로 표기!
구구단
for(let i = 2; i<10; i++){
for(let j=1; j <10; j++){
console.log(`${i} X ${j} = ${i*j}`)
}
}
자바스크립트 진짜진짜 너무 어렵다. 우주에 혼자 떨어진 것 같다. 천천히..숫자 넣어가면서 계산하면 겨우 이해하는데, 코드만 보면 진짜 어질어질하다. 이제 이틀째인데 괜찮은가 이거!
반복문이 어렵다. 조건문은 그래도 엑셀할 때랑 비슷해서 이해가 잘 가서 다행이다.
고칠점