-
JavaScript 기초3FE 2023. 4. 20. 19:40
함수 정의
함수 : 입력을 받아서 코드블록 내부의 코드를 실행한 후 함수의 실행결과를 반환하는 일련의 과정의 묶음이다.
함수 외부에서 특정한 입력값을 전달하여 호출되면 내부코드가 실행된다. 그 실행 결과는 다시 함수 외부로 반환(return)할 수 있다.
함수선언문과 함수표현식
함수를 정의할 때는 function 키워드를 사용한다. 키워드 다음에 함수명을 지정해주고 소괄호를 입력한다. 소괄호 안에는 매개변수를 사용할 수 있으며 실행할 코드를 코드블록 {} 내부에 넣어주면 된다. 변수를 선언하듯 함수 선언 키워드인 function 키워드를 사용하여 함수를 선언하는 방식을 함수선언문, 함수 선언 키워드가 아닌 변수 선언 키워드를 사용하여 함수를 표현한 방식을 함수 표현식이라고 한다
매개변수와 전달인자
function greeting (name) { console.log('hello ' + name); }
매개변수는 함수를 정의할 때 선언하고 함수 코드 블록 안에서 변수처럼 취급된다.
또한, 여러개 사용도 가능하다.
function greeting (name) { console.log('hello ' + name); } greeting('kimcoding'); // 'hello kimcoding'
전달인자는 함수를 호출할 때 소괄호 안에 값을 넣음으로써 매개변수에 값을 할당할 수 있다.
스코프 : 매개변수와 함수 내부에서 선언한 변수는 자신이 선언한 위치에 따라 유효범위가 결정 된다.
return문
return : 외부에서 값을 전달받아 반환하는 것
함수 내부의 코드가 차례대로 실행되다가 return문을 만나면 값을 반환한 후 함수는 종료한다. return문 뒤에 나오는 코드는 실행되지 않는다. 또한 함수 호출의 결과를 변수에 할당하는 것도 가능하며 연산도 가능하다.
종합퀴즈에서 세문제 틀렸다. 그 중 한문제는 변수에 할당된 값을 고르는 것이었는데 slice() 메서드는 문자열을 잘라내는 메서드이다 문제는 slice(0,2) 였는데 0번째 인덱스부터 2번째 인덱스의 앞인 1번째 인덱스이니 두글자가 해당이 된다. 0을 입력할 경우에는 문자열 전체가 해당되는 것이고 concat() 메서드는 두 개 이상 문자열을 연결하는 메서드였고, Math.ceil() 은 숫자를 올림하여 반환하는 것이니 Math.ceil(4.2)일 때, 올림을 해서 5가 된다. 논리부정연산자 !를 사용하면 부정하고 있으므로 true가 아닌 false가 된다
데이터 타입을 구별하기 위해서는 typeof 연산자를 사용하는데 'number'가 아닌 경우에는 console.log를 출력하고 종료되어야 한다.
개념을 보고 다 알고 있다고 생각했는데 생각 못했던 곳에서 틀려서 당황스러웠다 그리고 코플릿 반복문 문제에서 앞부분은 그래도 어떻게 풀어야하는지 감이 왔는데 뒷부분은 정말 ... 난이도가 높다고 생각했다 나한텐 너무 어려웠다 .. 그래서 페어의 도움으로 이해할 수 있었다 아직도 문제가 나오면 풀진 못하지만 왜 이렇게 되는지 이해하려고 하고 있다 오늘 같이 하던 페어분과 마지막이었는데 도움을 드리긴 커녕 너무 많이 받아서 감사했다 ㅠㅠ 다시 개념을 이해하고 문제를 계속 풀어봐야겠다 !
'FE' 카테고리의 다른 글
Linux / Git (0) 2023.04.24 계산기 구현하기 (0) 2023.04.21 JavaScript 기초2 (1) 2023.04.19 JavaScript 기초1 (1) 2023.04.18 HTML/CSS 2 (0) 2023.04.17