내일배움캠프[4기_Reac트랙]/TIL

내일배움캠프 React트랙 71일차 회고 (2022.02.07)

ecoEarth 2023. 2. 7. 21:49

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

정답

  1. console.log(1 + 4 + foo)에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
  2. console.log(foo + 1 + 4)에서의 ‘+’연산자는 모두 문자열연결 연산자로 쓰였습니다.
  3. 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

정답

  1. console.log(1 + 4 + foo)에서의 ‘+’연산자는 차례대로 덧셈연산자, 문자열연결 연산자로 쓰였습니다.
  2. console.log(foo + 1 + 4)에서의 ‘+’연산자는 모두 문자열연결 연산자로 쓰였습니다.
  3. 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)