멋쟁이 사자처럼_1129

jojo·2021년 11월 29일
1

멋쟁이사자처럼

목록 보기
25/39
post-thumbnail

수업 - Javascript

연산

산술연산


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)

  • 3항연산자 대체 용법
    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

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


후.. 자바스크립트.. 너 이게 최선이니?

조건문과 반복문

조건문

  • if문
let x = 10;

if (x < 100){
    console.log('100보다 작아요!')
}
-> 100보다 작아요!


if ( x > 100){
    console.log('100보다 커요!')
}
-> undefined

()안이 true여야 실행.

중첩해서 사용도 가능


  • else
    예외처리에서 많이 쓴다.

  • else if
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문
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'
  • for문
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}`)
    }
}

생각

자바스크립트 진짜진짜 너무 어렵다. 우주에 혼자 떨어진 것 같다. 천천히..숫자 넣어가면서 계산하면 겨우 이해하는데, 코드만 보면 진짜 어질어질하다. 이제 이틀째인데 괜찮은가 이거!
반복문이 어렵다. 조건문은 그래도 엑셀할 때랑 비슷해서 이해가 잘 가서 다행이다.

느낀점

고칠점

  • 어려우면 중간부터 정신을 놔버린다. 어떻게든 따라가려면 옆에 공책이라도 펴놓고 직접 써봐야할 것 같다.

계획

  • 딥다이브 한 챕터 읽기!
  • 손으로 써보면서 공부하기.
profile
2021.11~

0개의 댓글