2022/04/26
본격적으로 자바스크립트에 대해 배우기 시작했던 하루. 오늘 오전에는 피곤해서 그런지 머리가 잘 돌아가지 않아 집중이 어려웠다. 함수에 대해 이해해야 했는데 머리가 돌아가지 않아 힘들었다.
완전 기초적인 개념이 부족한 상태에서 학습을 따라가려니 어려워 보이지 않는 이론도 기초 개념 부족으로 느리게 따라갈 수 밖에 없는 듯 하다 : 이 부분은 책을 사서 따로 공부하는 것이 필요할 듯하다.
1. 변수
*키워드 : 선언(declaration), 할당(assignment), 표현식, '=', 동치 연산자 ...
- '=' : '같다'의 의미가 아닌 변수를 할당하는 의미. 일종의 변수의 정의.
- '===' : 진정한 등치 연산자. 값과 타입까지 동일한지 아닌지를 판단하여, true or false로 나타내줌. (cf. '=='는 오직 '값'만을 비교. '타입'이 달라도 동일한 것으로 처리).
- 변수명에는 공백이 들어갈 수 없다.
- 변수 할당 시 여러 변수를 같이 한번에 할당할 수도 있는데, 이 경우 콤마(,)로 이어주면 되지만 let은 중복 사용하지 않는다.
예) let thing = '두루마리 휴지', num = 3 ; - 재할당이 가능하며, 재할당 시 마지막으로 할당된 값이 최종 값이 된다.
2. 타입
*키워드 : 숫자(number), 문자열(string), Boolean, undefined, 함수, 배열, 자료형, typeof ...
- 유의해야할 개념
- undefined : 변수에 값이 없는 경우.
- Boolean : true / false를 확인하기 위한 변수.
- typeof : 변수의 타입을 확인할 수 있는 연산자
3. 함수
*키워드 : 선언(declaration), 호출(call, invocation), return, 함수 선언식, 함수 표현식, 화살푶 함수, 매개 변수(parameter), 전달 인자(argument), 재할당 ...
- 유의해야할 개념
- function XXX { 함수식, return } : 함수의 선언 (따로 let을 사용하지 않아도 앞에 function을 입력한 후 시작하면 바로 함수 선언이 된다).
- XXX() : 함수의 호출
예시)
function getRunCatDistance(speed, time) {
let distance = speed * time
return distance;
}
- 함수는 return이 필요.
- 함수 선언 방법은 3 가지 : 함수 선언식, 함수 표현식, 화살표 함수.
[오답노트]
문제
function triangle(base, height){
return (base * height)/2
}
triangle(3, 4);
해설
- 함수 triangle 호출 시(triangle(3, 4);), argument로 3과 4를 받는다. 함수 triangle의 parameter는 'base,height'.
- 함수 triangle의 parameter (매개 변수 : 함수 선언 시): base, height
- 함수 triangle의 argument (인수 : 함수 호출 시 ): 3, 4
함수는 전달받은 argument를 parameter에 차례대로 할당한다. 따라 argument가 parameter보다 더 많이 전달되면 남은 argument는 어느 parameter에도 할당되지 않는다. 그러므로 함수 square는 첫 번째 인자 3만 전달받아 9라는 값을 리턴한다. - 반면, parameter > argument 로 전달될 경우, undefined로 표시
하루를 마치면서 느낀점 및 다짐
역시 영어가 중요하다고도 느꼈다. 영어가 코드를 이해하는데 많이 도움이 된다.
기술용어로 자꾸 표현하고 사용하는 것이 중요하다고 한다. 비전공자 문과생의 취약점이라고 한다. 페어 프로그램 할 때나 블로깅 할 때도 의식적으로 기술용어로 표현하여 완전히 내 것이 되도록 하자.
기초 개념을 익힐 수 있는 책을 사야할 듯.
공부해야할 개념 : 화살표 함수, const
'코딩' 카테고리의 다른 글
[Java Script / Browser] DOM (0) | 2022.05.17 |
---|---|
[Java Script] Koans 문제 풀이 (0) | 2022.05.16 |
[Java Script] 선언 방식 let, const, var의 비교 (0) | 2022.05.13 |
[Java Script] 데이터 유형과 특징 (0) | 2022.05.13 |
[Java Script] 조건문, 문자열 (0) | 2022.04.27 |