내일배움캠프 React트랙 71일차 회고 (2022.02.07)
6장 데이터 타입
1번 퀴즈
다음코드의 ‘+’연산자의 쓰임새를 차례대로 서술하시오. (총 6개의 +연산자의 쓰임을 모두 언급할 것)
[덧셈연산자 or 문자열 연결 연산자]
const foo = 'Okky'
console.log(1 + 4 + foo); // 5Okky
console.log(foo + 1 + 4); // Okky14
console.log(1 + 4 + "foo"); // 5foo
정답
- console.log(1 + 4 + foo)에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
- console.log(foo + 1 + 4)에서의 ‘+’연산자는 모두 문자열연결 연산자로 쓰였습니다.
- console.log(1 + 4 + "foo")에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
2번 퀴즈
다음코드의 출력값을 차례대로 서술하시오.
console.log('1 + 2 = ${1 + 2}');
console.log(`1 + 2 = ${1 + 2}`);
정답
첫번째 console.log의 출력값은 1 + 2 = ${1 + 2}
두번째 console.log의 출력값은 1 + 2 = 3
3번 퀴즈
undefined와 null의 차이에 대해 서술하시오.
정답
undefined은 변수를 선언하고 값을 할당하지 않은 상태, null은 변수를 선언하고 빈 값을 할당한 상태이다. 즉, 개발자가 의도하지 않았지만 빈 값이 할당된 것은 undefined이며, 개발자가 의도하여 빈 값을 할당한 것은 null이다.
undefined를 개발자가 의도적으로 변수에 할당할 수 있기는 하지만, undefined의 본래 취지와 어긋날뿐더러 혼란을 줄 수 있으므로 권장하지 않는다.
4번 퀴즈
다음코드의 함수가 터미널에 출력할 값을 서술하시오.
const userName = "Okky";
const age = 20;
function transform(staticData, ...dynamicData) {
console.log(staticData);
console.log(dynamicData);
}
transform`Hi, ${userName} and I am ${age}.`;
정답
https://mygumi.tistory.com/395
(태그드 텝플릿 리터럴 기능을 제공한다고 써있지만, 설명해주지는 않아서 따로 찾아봤습니다.)
console.log(staticData); // ["Hi, ", " and I am ", "."]
console.log(dynamicData); // ["Mygumi", 20]
⚠️추후에 공부해야할 부분
- 배정밀도 64비트 부동소수점 형식
- 템플릿 리터럴의 기능중 하나인 태그드 템플릿(tagged template)
- 심벌 테이블(p.70)
6장 데이터 타입
1번 퀴즈
다음코드의 ‘+’연산자의 쓰임새를 차례대로 서술하시오. (총 6개의 +연산자의 쓰임을 모두 언급할 것)
[덧셈연산자 or 문자열 연결 연산자]
const foo = 'Okky'
console.log(1 + 4 + foo); // 5Okky
console.log(foo + 1 + 4); // Okky14
console.log(1 + 4 + "foo"); // 5foo
정답
- console.log(1 + 4 + foo)에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
- console.log(foo + 1 + 4)에서의 ‘+’연산자는 모두 문자열연결 연산자로 쓰였습니다.
- console.log(1 + 4 + "foo")에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
2번 퀴즈
다음코드의 출력값을 차례대로 서술하시오.
console.log('1 + 2 = ${1 + 2}');
console.log(`1 + 2 = ${1 + 2}`);
정답
첫번째 console.log의 출력값은 1 + 2 = ${1 + 2}
두번째 console.log의 출력값은 1 + 2 = 3
3번 퀴즈
undefined와 null의 차이에 대해 서술하시오.
정답
undefined은 변수를 선언하고 값을 할당하지 않은 상태, null은 변수를 선언하고 빈 값을 할당한 상태이다. 즉, 개발자가 의도하지 않았지만 빈 값이 할당된 것은 undefined이며, 개발자가 의도하여 빈 값을 할당한 것은 null이다.
undefined를 개발자가 의도적으로 변수에 할당할 수 있기는 하지만, undefined의 본래 취지와 어긋날뿐더러 혼란을 줄 수 있으므로 권장하지 않는다.
4번 퀴즈
다음코드의 함수가 터미널에 출력할 값을 서술하시오.
const userName = "Okky";
const age = 20;
function transform(staticData, ...dynamicData) {
console.log(staticData);
console.log(dynamicData);
}
transform`Hi, ${userName} and I am ${age}.`;
정답
https://mygumi.tistory.com/395
(태그드 텝플릿 리터럴 기능을 제공한다고 써있지만, 설명해주지는 않아서 따로 찾아봤습니다.)
console.log(staticData); // ["Hi, ", " and I am ", "."]
console.log(dynamicData); // ["Mygumi", 20]
⚠️추후에 공부해야할 부분
- 배정밀도 64비트 부동소수점 형식
- 템플릿 리터럴의 기능중 하나인 태그드 템플릿(tagged template)
- 심벌 테이블(p.70)