오늘은 크게 변수, 타입 그리고 함수에 대해 배웠습니다. 이 3가지 중 역시 함수의 중요성이 가장 클 것입니다. 함수나 객체는 아무리 봐도 어려운 거 같습니다.
이번 학습을 통해 함수의 작동 원리에 대해서 다시 한번 되새김질을 하였습니다. 특히 전달인자의 입력값이 매개변수로 전달하고 코드 바디 안에서 코드가 순차적으로 실행됩니다.
그리고 함수가 리턴을 하면 다시 호출된 장소로 되돌가고 이때 함수 호출 코드는 리턴값으로 바뀌게 됩니다. 그 동안 이거에 대해서 주의 깊게 생각을 하지 않았던 거 같습니다.
앞으로 코드를 접할 때 더 많은 생각을 해야겠다고 생각했습니다. 또한 오늘 처음으로 페어프로그래밍을 하였습니다. 뭔가 혼자 문제 풀 때보다 긴장하고 해서 어버버(?!)한 거 같아 창피했지만 그래도 역시 같이 하다보니 독학 할 때보다 동기부여도 더 많이 받고 좋았습니다.^_^
주말에도 열심히...ㅎㅎ 화이팅~!
특정 값의 타입을 잘 모를 경우 typeof
를 통해 타입을 확인할 수 있다.
typeof
연산자 사용법
typeof 값;
// 예시 1 - 특정한 값의 타입을 알 수 있다.
console.log(typeof 1) // ----- (1)
console.log(typeof '1') // ----- (2)
console.log(typeof (1 < 2)) // ----- (3)
---
(1) number
(2) string
(3) boolean
// 예시 2 - 변수에 할당한 값도 알 수 있다.
let n = 1;
console.log(typeof n) // --- (1)
let s = '1';
console.log(typeof s) // --- (2)
---
(1) number
(2) string
keyword name parameter
function mulTablePrinter(num) {
console.log(num * 1);
console.log(num * 2);
console.log(num * 3);
body console.log(num * 4);
console.log(num * 5);
console.log(num * 6);
console.log(num * 7);
console.log(num * 8);
console.log(num * 9);
}
undefined
function cal(param1, param2) { // 1. 선언(declaration)
console.log(param1 + param2);
return param1 * 10;
}
cal(10, 20); // 2. 호출(call, invocation)
→ 함수는 특별한 공간에 보관되며 언제든 다시 사용 가능!
function getTriangleArea(base, height) {
let triangleArea = (base * height) / 2;
return triangleArea
}
변수 선언 익명 함수 할당
const getTriangleArea = function (base, height) {
let triangleArea = (base * height) / 2;
return triangleArea
}
변수 선언 함수를 화살표로 표현
const getTriangleArea = (base, height) => {
let triangleArea = (base * height) / 2;
return triangleArea;
}
const getTriangleArea = {base, height} => base * height / 2; // O, 정상 작동
const getTriangleArea = {base, height} => { base * height / 2 } // X, undefined 리턴
const getTriangleArea = (base, height) => (base * height / 2) // O, 정상 작동
매개변수 (parameter)
function getTriangleArea(base, height) {
let triangleArea = (base * height) / 2;
}
전달인자 (argument)
getTriangleArea(3,4)
유형: 함수의 선언
function multiplyBy2(input) {
input = input * 2;
return input;
}
let divideby2 = function(input) {
input = input / 2;
return input;
}
유형: convertToNumber
number
)의 형태로 리턴해야 합니다.function convertToNumber(anything) {
// TODO: 여기에 코드를 작성합니다.
}
↓
function convertToNumber(anything) {
return Number (anything);
}
1. 리턴은 함수 안에 입력을 해야 한다.
2. 해당 문제는 숫자의 형태로 리턴을 해야하기 때문에 Number() 함수를 쓴다.
triangle
과 sqaure
에 대한 설명으로 틀린 것을 고르시오.function triangle(base, height){
return (base * height)/2
}
triangle(3, 4);
function square(base){
let side = base;
return base * side;
}
square(3);
보기
1. 함수 triangle은 argument로 base와 height를 전달받고 있습니다.
2. 함수 triangle은 호출될 시 6을 리턴합니다.
3. 리턴 시점에, 함수 square의 parameter base와 함수 내부에서 선언된 변수 side는 같은 값을 가지고 있습니다.
4. 함수 square 는 argument로 3 외에 4가 같이 전달될 시, 같이 전달된 4는 무시하고 앞의 3만 전달 받아 9라는 값을 리턴합니다.
선택한 오답: 4
정답: 1
틀린 이유
- 전달인자(argument)와 매개변수(parameter)에 대해서 확실하게 인지를 못했습니다. 해당 문제를 통해 확실히 알 수 있었습니다.
==
은 별로 안쓴다. ===
만 기억하자