edubun English

값과 console.log

console.log(2 + 3)은 5를 출력하지만 console.log("2 + 3")은 2 + 3을 그대로 출력합니다. 따옴표가 계산할지 그대로 옮길지를 정합니다.

프로그램이 다루는 것은 모두 값입니다

프로그램은 데이터를 다룹니다. 가격, 이름, 점수, 예나 아니요로 답하는 질문의 답 같은 것들입니다. 데이터 한 조각 한 조각을 값이라고 합니다. 숫자 42도 값이고, 글자 "Seoul"도 값이고, 참이라는 답 true도 값입니다. 모든 값에는 타입(자료형)이 있습니다. 타입은 그 값이 어떤 종류인지, 그 값으로 무엇을 할 수 있는지 알려 줍니다. 숫자 둘은 곱할 수 있지만 이름 둘을 곱하는 것은 말이 안 되니, 자바스크립트는 어느 것이 어느 종류인지 알아야 합니다.

기본 타입

타입예쓰임
number(숫자)42, 3.5, -7세기, 재기, 돈
string(문자열)"cat", 'Hello', "42"모든 종류의 글자
boolean(불리언)true, false예나 아니요의 답
undefinedundefined아직 정해지지 않은 값
nullnull일부러 비워 둔 값

자바스크립트에서는 정수와 소수가 모두 하나의 숫자 타입이라서 7과 7.5는 둘 다 number입니다. 문자열은 따옴표 사이에 쓴 글자들의 줄입니다. 양쪽 끝이 같기만 하면 작은따옴표와 큰따옴표 모두 쓸 수 있습니다. 불리언은 true와 false 두 값만 있고 따옴표 없이 씁니다. 마지막 두 개 undefined와 null은 둘 다 「여기 아무것도 없음」을 뜻하며, 변수에 값을 넣지 않았을 때 다시 만나게 됩니다. ECMAScript 표준에는 BigInt와 Symbol도 있지만 이 과정에서는 쓰지 않습니다.

따옴표가 타입을 바꿉니다

값 42와 값 "42"는 출력하면 똑같아 보이지만 타입이 다릅니다. 앞의 것은 계산할 수 있는 숫자이고, 뒤의 것은 글자 4와 2로 된 문자열입니다. 연산자 typeof는 어떤 값의 타입을 알려 줍니다. 지금 다루는 값이 무엇인지 빠르게 확인할 때 씁니다.

console.log(typeof 42);       // number
console.log(typeof "42");     // string
console.log(typeof true);     // boolean
console.log(typeof "true");   // string

계산도 마찬가지입니다. 따옴표가 없으면 자바스크립트가 식을 먼저 계산해서 결과를 출력합니다. 따옴표가 있으면 글자이므로 적힌 그대로 출력합니다.

console.log(2 + 3);     // 5
console.log("2 + 3");   // 2 + 3

2 + 3이나 typeof 42처럼 값을 만들어 내는 코드 조각을 식(expression)이라고 합니다. 자바스크립트는 식을 만나면 평가합니다. 식을 값 하나로 줄인 뒤 그 값을 쓴다는 뜻입니다. console.log(2 + 3)에서는 console.log가 받기 전에 식이 먼저 5로 평가됩니다.

값 여러 개를 한 번에 출력하기

console.log에는 값을 여러 개 넣을 수 있습니다. 쉼표로 나누면 한 줄에 사이사이 빈칸 하나씩 띄워서 출력합니다.

console.log("Age:", 30);              // Age: 30
console.log("Sum:", 4 + 5, "units");  // Sum: 9 units

작업하면서 출력에 이름표를 붙이는 가장 쉬운 방법입니다. 위의 "Sum:"처럼 이름표를 붙여 값을 출력하는 것은 프로그램이 단계마다 무엇을 하는지 확인할 때 프로그래머가 늘 쓰는 방법입니다. 뭔가 이상하게 움직이면 보통 console.log를 하나 넣고 들여다보는 데서 시작합니다.

풀이 예시

예 1. console.log(10 - 4)는 식을 먼저 계산하므로 6을 출력합니다. 예 2. console.log("10 - 4")는 문자열이므로 10 - 4를 출력합니다. 예 3. console.log(typeof "")는 string을 출력합니다. 사이에 아무것도 없는 따옴표 두 개도 문자열이고, 이것을 빈 문자열이라고 합니다. 예 4. console.log(typeof 3.0)는 number를 출력합니다. 소수를 위한 타입이 따로 있지 않습니다.

값데이터 한 조각. 42, "cat", true
타입(자료형)값의 종류. number, string, boolean 등
number정수와 소수를 함께 다루는 하나의 타입
string(문자열)따옴표 사이에 쓴 글자
boolean(불리언)true 또는 false. 따옴표 없이 씀
식(expression)2 + 3처럼 값을 만들어 내는 코드
typeof값의 타입을 문자열로 알려 줌
빈 문자열글자가 하나도 없는 문자열. "" 로 씀
  1. 무엇이 출력될까요?
    console.log(6 * 7);
  2. 무엇이 출력될까요?
    console.log("6 * 7");
    • 42
    • 6 * 7
    • "6 * 7"
  3. 무엇이 출력될까요?
    console.log(typeof 7.5);
  4. 무엇이 출력될까요?
    console.log(typeof "7.5");
  5. 무엇이 출력될까요?
    console.log(typeof false);
  6. 무엇이 출력될까요?
    console.log("Total:", 3 + 4);
    • Total: 7
    • Total:7
    • Total: 3 + 4
  7. 불리언 값은?
    • "true"
    • true
    • 1
  8. 무엇이 출력될까요?
    console.log(typeof "");
  9. 무엇이 출력될까요?
    console.log(10 - 4, "10 - 4");
    • 6 6
    • 6 10 - 4
    • 10 - 4 10 - 4
  10. 올바른 문자열은?
    • "hello'
    • 'hello'
    • hello
핵심 정리
  • 데이터 한 조각이 값이고, 값마다 타입이 있습니다.
  • 기본 타입: number, string, boolean, undefined, null.
  • 따옴표가 있으면 문자열, 없으면 식을 계산합니다.
  • typeof로 타입을 알 수 있습니다.
  • console.log(a, b)는 두 값을 한 줄에 빈칸 하나 두고 출력합니다.