
((블로그 안쓰고 들어서 첨부터 다시 듣습니다...))
1강은 별 내용이 없어서 건너뛰고,,,, 우리 니콜라스 선생님 유쾌하고 좋으시다 !~~!
<2강>
alert()를 쓰면 괄호 안에 있는 내용 그대로 화면 상단에 경고창이 뜬다.
2.1 자료형: string("hello") 문자열에서 따옴표를 사용해야 한다. ""를 써도 되고 ''를 써도 되는데, "'처럼 섞어쓰면 안된다. 3이랑 "3"이랑 자료형이 다르다. 3은 숫자, "3"은 문자열이다. 문자열은 string을 써서 문자열이라는 것을 표시해줘야 하지만, 숫자는 컴퓨터에서 자동으로 인식해서 따로 표시를 해줄 필요가 없다.
2.2 변수: 값을 출력할 때 console.log() - 파이썬에서 print()
상수 설정할 때 const a = 5; - c++에서 int a = 5;
a,b 변수를 설정하면 더 쉽게 숫자를 바꿀 수 있다.
변수명에 띄어쓰기를 하면 안된다. 그래서 언더바를 쓰거나 띄어쓰기 해야할 부분에서 대문자를 써서 구분한다.
2.3 변수 업데이트: const말고 let을 쓰면 같은 변수 다시 정의할 때 다른 예약어 없이 바로 정의 가능하다. const a 이면 a값이 변하지 않을 것이고 let b를 쓰면 b의 값이 새로 정의될 가능성이 있다는 것을 알 수 있다. 하지만 대부분 const를 쓰고 떄에 따라서 let을 쓴다.
2.4 boolean: true, false에 관련된 자료형
null을 쓰면 참도 거짓도 아닌 아무것도 아닌 것, 값은 주어졌는데 아무것도 아닌 것
undefined은 정의되지 않은 것, 값조차 없는 것
2.5 배열: 파이썬에서 list랑 똑같다.
array = [1, 2, a, b, "hello", true, "hyowon"] 이런 식으로 정의한다. 여기서 true를 출력하려면 0부터 순서대로 5번째를 출력하면 되는데, 여기서는 array[5] 이런 형식으로 쓰면 된다. (당연히 정의할 때 const, 실행할 때 console.log를 써야한다.)
배열의 원소에 추가를 하기 위해서는 push를 쓴다.
이렇게 daysOfWeek.push("sun")를 하면 daysOfWeek의 원소에 sun이 추가된다. 출력 결과는 ["mon", "tue", "wed", thu", "fri", "sat", "sun"]이다.
2.6 객체: 같은 객체에 대한 여러 설명을 굳이 따로따로 정의할 필요가 없다.
이렇게 하나하나 쓰기보다는 중괄호를 이용해서
이렇게 쓰면 player.fat이나 player.name처럼 .을 이용해서 표현해도 된다. 배열에서는 대괄호, 객체에서는 중괄호를 쓴다는 것을 헷갈리지 말자.
2.7: 함수1: 함수를 사용하면 똑같은 내용을 반복하고 일부만 바꿀 때 사용할 수 있다. 함수를 만들기 위해서는 function 함수이름(){ 출력내용 }의 형식으로 쓴다.
2.8: 함수2: 함수를 이용하여 데이터를 받기 위해서 함수 안에 필요한 데이터의 이름을 넣으면 된다. 함수 안에 쉼표를 이용하여 여러 개의 변수를 넣을 수 있다.
이런 코드를 작성하면
이렇게 출력된다. 이와 같이 함수를 이용하면 간단한 계산기도 만들어볼 수 있다.
이 덧셈, 나눗셈 계산기를 실행시키면 68, 4.9라는 결과를 얻어낼 수 있다.
또 함수를 정의할 때, 2.6강에서 배운 객체 안에 함수를 정의할 수도 있다. 즉, 중괄호 안에 함수를 정의하는 것이다.
이게 다 함수에 정보를 보내는 법이다. 위 사진처럼 함수를 사용하는 것은 객체 안에 합수가 있을 때에만 가능하다.
2.9 복습: 2.0부터 2.4까지
2.10 복습: 2.5부터 2.8까지
2.11 리턴값: console.log를 쓰지 않고 무언가를 실행하는 방법은 어떤 값을 리턴해주면 된다. 함수 밖에서 결과값을 얻거나, 어떤 결과를 콘솔창이 아닌 화면에 출력하거나, 어떤 값을 받아서 그 값으로 또 무언가를 할 때 사용한다. c++에서 return이랑 똑같은 것.
이렇게 하면 calculateKrAge의 값이 함수 블록 안에서만 있고 그 밖에서는 정의가 되지 않았기 때문에 결과값이 undefined, 즉 정의되지 않음 이 뜬다. 여기서 필요한 것이 함수에서 정해진 calculateKrAge의 값을 불러오는 것, return해주는 과정이다. 리턴을 해주면 함수밖에서도 함수를 호출한 곳에서 값을 불러올 수 있다.
이와 같이 리턴을 해주면 결과값이 우리가 원하는대로 98이 된다.
2.12 복습: 2.11강 + 앞으로 어떤 내용을 배울지 소개
2.13 조건문1: 조건문에서 if와 else를 쓴다.
조건문을 쓰기에 앞서 prompt라는 함수에 대해서 대충 설명을 해보자면 이 함수도 alert처럼 화면에 창을 띄운다. prompt함수를 쓰는 형식은 prompt(message, default)이다. 여기서 message는 반드시 자료형이 문자열이여야 한다. prompt는 아래 그림과 같이 우리가 작성한 message에 알맞는 대답을 적으라는 창을 띄울 것이다.
이 함수가 여기서 중요한 이유는 이 창이 떠있는 동안 javascript를 정지시키고 있기 때문이다. 즉, 이 페이지가 계속 로딩중인 상태로 유지되고, 콘솔창에 아무것도 실행되지 않는다. 이것이 우리가 prompt함수를 쓰지 않는 이유이다.
이에 이어 입력된 값의 자료형을 확인하는 함수는 parseInt라는 함수이다. 이 함수는 parseInt(s, radix)의 형식으로 작성하고, 입력한 것이 숫자인지 아닌지 판단해서 숫자인 경우에 그대로 출력하고 숫자가 아닌 경우에 NaN을 출력하여 숫자가 아님을 알려준다.

![]() | ![]() |
|---|---|
![]() | --- |
여기서 NaN이 떴을 때 사용자에게 다시 입력하라고 하기 위해서 필요한 것이 조건문, if이다.
2.14 조건문2: 위에 이어서, 출력된 결과가 NaN인지 아닌지를 판별하는 방법에는 isNaN()이라는 함수를 사용하는 방법이 있다. 이 함수는 boolean을 리턴하기 때문에 숫자가 아닌 경우에 true가 출력되고 숫자인 경우에 false가 출력된다. 
2.15 조건문5: 조건문에는 if, else if, else가 있다.(C++랑 동일한 방식으로 작동) 이 세가지 조건문을 적절하게 사용하면 여러 조건을 부여할 수 있다.
조건을 작성할 때에 있어서 필요한 연산자에는 AND와 OR이 있다. AND연산자는 &&로 표현하고, OR연산자는 ||로 표현한다. 
이 코드 중 첫번째 if문에서 ||을 썼으므로 숫자가 아닌 경우 "또는" 0보다 작을 때 실행하는 것이고, 아래에 3번째 if문에서는 &&를 썼으므로 18보다 크거나 같"고" 50보다 작거나 같을 때 실행하는 것이다.
OR연산자는 두 조건 중 참이 하나라도 있으면 참이고, AND연산자는 두 조건 중 하나라도 거짓이면 거짓이다.
2.16 복습: 조건문1,2 복습