HTML은 웹페이지의 구조를 만드는 것이고, CSS로 그 구조를 꾸며주고, JS가 웹페이지를 동적으로 만들어 준다.
JS를 실행시키려면 HTML파일이 존재해야하며, JS파일이 연결되어 있어야 한다.
Variables
변수는 프로그래밍을 하기 위해 다양한 값을 저장하고 있다.
변수를 선언하고 값을 할당하는 방법
var 변수명 = 값;
변수명같은 경우는 중복해서 사용할 수 없다. 또한 의미가 추측 가능한 변수명으로 짓는 것이 가장 이상적이다. 코드의 가독성을 높이기 위해서 대부분의 개발자들이 변수명을 정하려고 엄청난 시간을 쓴다는 얘기가,.......
JS에서는 camelCase식으로 변수명을 많이 만든다. 소문자로 시작해서 새로운 단어가 시작되는 첫 단어는 대문자로 쓰는!
ex) var kimYoungGwang = 28;
let vs const
앞에서 변수를 만들때는 var을 사용했다. 원래는 var만 가능했는데 버전이 올라가면서 let과 const라는 키워드가 새롭게 생겼다.
=> let 을 사용하면 변수의 값을 수정할 수 있다.
=> const를 사용하면 변수의 값을 수정할 수 없다.
어떤것을 사용할지는 상황에 맞게 사용하면 된다. 절대!!!!!수정 안해!!!!하는 변수는 const를 사용해서 변수를 선언하면 된다.
변수를 수정하는 경우에는 이미 변수를 선언해 놓았기 때문에 let키워드를 다시 사용하지 않는다.
let a = 1;
변수를 미리 선언한 후에,
a = 3;
이렇게 사용하면 a의 값은 1에서 3으로 변한다.
정리하면 let키워드는 변수를 '생성' 할 때 사용하는 것이다.
변수의 선언과 할당을 분리해서 사용할 수도 있다.
let a;
a = 1;
이런식으로 선언만 미리 해놓고, 할당을 나중에 할 수도 있다.
Function
function은 함수라고 한다. 함수란 하나의 특정한 작업을 수행하도록 설계된 블록을 얘기한다.
변수는 데이터만 저장 할 수 있고, 코드는 저장할 수 없다. 하지만, 함수를 사용하면 코드를 메모리에 저장했다가 필요할 때마다 호출하여 사용할 수 있다.
TV리모콘을 예로 들 수 있다. 각 채널의 버튼이 함수로 저장되어 있다가, 눌러(호출)야만 실행이 된다.
매개변수가 있는 함수는 함수를 호출할 때 전달하고자 하는 값을 입력하여 호출한다.
함수 정의문에서 arguments를 사용하면 매개변수를 사용하는 것처럼 함수 호출문의 값을 받아올 수 있다. 매개변수가 없는 상태에서 데이터를 전달하여 함수를 호출하면 그 값은 배열에 저장.
모든 함수는 반환을 한다. 그렇기 때문에 변수에 저장할 수도 있고, 다른 로직에도 사용이 가능하다.
return문을 실행하면 반복문의 break문과 비슷하게 코드가 강제로 종료된다.
함수 내에서 작성한 코드로 함수를 다시 호출하는 것을 재귀 함수 호출이라고 한다. 반복문처럼 여러번 호출하기 위해서 사용한다.
매개변수(parameter)와 인자(argument)
매개변수
함수를 정의할때 () 안에 변수를 정의하면 그것을 매개변수라고 한다. 실제로 함수 안쪽에서 변수의 역할을 함.
인자
인자는 어떤 함수를 호출하면서 호출문에 어떤 값이나 정의된 변수를 넣으면 그것을 인자라고 한다.
함수에 매개변수를 정의해놓고, 호출 시 인자로 값을 전달하여 사용 가능.