1. let favoriteFruit = '사과';
→ 키워드 let으로 변수 favoriteFruit에 사과를 할당한다.
➡️ 키워드 let을 활용하여, 변수 favoriteFruit를 선언하고, 문자열 '사과'를 할당합니다.
✅ 선언과 할당의 차이 구분.
✅ 값 저장소인 변수는 선언되어야, '2','hello' 같은 데이터를 저장할 수 있다.
2.thing이라는 변수를 선언하여 문자열 '두루마리 휴지'를 할당하고, num이라는 변수를 선언하여 숫자 3을 할당합니다.
→ let thing = '두루마기 휴지';
let num = 3;
➡️
1) let thing = '두루마기 휴지', num = 3;
2) let thing = '두루마기 휴지';
let num = 3;
✅ 변수 선언 및 값의 할당.
3. let anythingVariable = 'hello';
anythingVariable = 'codestates!';
console.log(anythingVariable);
위 코드의 실행 결과는?
→ 'codestates!'
✅ 키워드 let으로 선언된 변수 anythingVariable은 값의 재할당이 가능.
✅ 처음에 'hello'라는 값이 할당 되었다가, 이후 'codestates!'를 할당했으므로, 최종적인 값은 'codestates!'이다.
4. 자료형에 대한 설명 중 옳지 않은 것을 고르세요.
→
Boolean 타입은 논리 요소를 나타내며 true와 false 두 가지의 값을 가질 수 있다.(O)
Null 타입은 null 하나의 값만 가질 수 있다(O)
값을 할당하지 않은 변수는 null 값을 가진다(X)
값을 할당하지 않은 변수는 JavaScript가 임의로 undefined라는 값을 할당한다(O)
String 타입은 텍스트 데이터를 나타낼 때 사용한다(O)
✅ null과 undefined의 차이.
✅ null은 어떤 값이 의도적으로 비어있음, 해당 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미.
✅ undefined은 값이 지정되어 있지 않은 경우, 값이 할당하지 않은 변수, 메서드와 선언에서 변수가 할당받지 않은 경우, 함수가 값을 return 하지 않은 경우.
5. let whatIsValue = '123';
whatIsValue = 123;
console.log(typeof whatIsValue);
위 코드의 실행 결과는?
→ Number
✅ whatIsValue은 처음에는 String 타입인 '123' 할당되었지만, 이후에 Number 타입인 123으로 재할당 되었으므로 최종적인 실행 결과는 Number 타입이다.
6. let whatIsThis = '123';
let whatIsThat = 123;
console.log(whatIsThis === whatIsThat);
위 코드의 실행 결과는?
→ false
✅ 비교 연산자(===)는 피연산자의 값이 값고, 타입까지 같아야 true를 리턴함.
✅ whatIsThis과 whatIsThat은 값은 같으나 타입이 각각 String과 Number로 다르므로 false를 리턴함.
7. 임의의 값을 입력받아 수(number)의 형태로 리턴하는 함수 convertToNumber
→ function convertToNumber(anything) {
return number;
➡️ function convertToNumber(anything) {
return Number(anything);
✅ 매개변수 anything을 숫자로 변환하여 리턴.
✅ 생성자 함수 Number은 숫자로 평가될 수 있는 값을 모두 숫자로 바꾸어 리턴.
✅ 숫자로 평가될 수 없는 값이 할당된 경우는 모두 NaN을 리턴.
8. 속력(speed), 시간(time)이 숫자로 주어졌을 때, 이동한 거리를 변수 distance에 할당하여 리턴하는 함수 getRunCatDistance가 가장 정확히 표현된 코드
→ function getRunCatDistance(speed, time) {
let distance;
let distance = speed * time;
return distance;
}
➡️ 본인이 작성한 코드처럼 선언과 할당을 나눠도 되나, 아래와 같이 줄여서 많이 사용.
function getRunCatDistance(speed, time) {
let distance = speed * time
return distance;
}
✅ 주어진 두 매개변수 speed와 time의 곱한 값을 let으로 선언된 변수 distance에 할당하고, 변수 distance를 리턴하는 함수 getRunCatDistance.
9. function sayYourName(name) {
console.log('hello');
console.log('my name');
console.log('is ' + name);
}
sayYourName('kim coding');
함수 sayYourName 를 호출했을 때, 함수가 로그로 출력하는 값
→ ‘is kim coding’
➡️ ‘hello’
‘my name’
‘is kim coding’
✅ 매개변수(parameter)와 인자(argument)
sayYourName은 name을 매개변수로 해 선언된 함수.
console.log()을 이용하여 안에 들어있는 문자열들을 차례대로 로그로 출력하는 로직이 함수 내부에 들어있음.
sayYourName을 선언 이후 호출시 인자로 ‘kim coding’이 전달되므로, ‘hello’ , ‘my name’ , ‘is kim coding’을 순서대로 로그로 출력.
10. function triangle(base, height){
return (base height)/2
}
triangle(3, 4);
function square(base){
let side = base;
return base side;
}
square(3);
함수 triangle 과 sqaure에 대한 설명으로 틀린 것은?
→ 함수 triangle 은 argument로 base와 height를 전달받고 있다.(X)
함수 triangle 은 parameter로 base와 height를 전달받고, argument로 3,4를 받는다.(O)
함수 triangle 은 호출될 시 6을 리턴한다.(O)
리턴 시점에, 함수 square 의 parameter base와 함수 내부에서 선언된 변수 side는 같은 값을 가지고 있다.(O)
함수 square 는 argument로 3 외에 4가 같이 전달될 시, 같이 전달된 4는 무시하고 앞의 3만 전달 받아 9라는 값을 리턴한다.(O)
✅ 함수는 전달받은 argument를 parameter에 차례대로 할당한다.
✅ argument가 parameter보다 더 많이 전달되면 남은 argument는 어느 parameter에도 할당되지 않는다.