본문 바로가기
Program/java script

js 변수, 문제풀이

by Apeach_:) 2019. 7. 30.

변수의 선언과 초기화

 

변수(variable) 이란 데이터 (data)를 저장할 수 있는 메모리 공간을 의미한다.

그 값은 변경될 수 있으며, 자바스크립트에서는 var을 사용한다.

 

var month; // month라는 이름의 변수 선언

date = 25; // date라는 이름의 변수를 묵시적으로 선언

 

선언된 변수는 나중에 초기화할 수도 있고, 선언과 동시에 초기화할 수도 있습니다.

 

var month;     // 변수의 선언

var date = 25; // 변수의 선언과 동시에 초기화

month = 12;    // 변수의 초기화

 

 

쉼표(,) 연산자를 이용하여 여러 변수를 동시에 선언하거나 초기화할 수도 있습니다.

 

var month, date;             // 여러 변수를 한 번에 선언

var hours = 7, minutes = 15; // 여러 변수를 선언과 동시에 초기화

month = 10, date = 5;        // 여러 변수를 한 번에 초기화

변수의 타입과 초깃값

 

자바스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 다시 대입할 수도 있습니다.

이렇게 한 변수에 다른 타입의 값을 여러 번 대입할 수는 있지만, 한 번 선언된 변수를 재선언할 수는 없습니다.

 

 

<script>
		var num = 10;		// 변수의 선언과 함께 초기화
		document.getElementById("result").innerHTML = num + "<br>";
		num = [10, 20, 30];	// 배열 할당
		document.getElementById("result").innerHTML += num + "<br>";
		var num; 			// 이 재선언문은 무시됨.
		document.getElementById("result").innerHTML += num;
	</script>
    
    
    --------------------------result-----------------------------------
    10
    10,20,30
    10,20,30

 

변수의 이름

 

자바스크립트에서 변수는 이름을 가지고 식별하므로, 변수의 이름은 식별자(identifier)입니다.

변수의 이름은 영문자(대소문자), 숫자, 언더스코어(_) 또는 달러($)로만 구성됩니다.

또한, 숫자와의 구분을 빠르게 하려고 숫자로는 시작할 수 없습니다.

이러한 변수의 이름은 대소문자를 구분하며, 자바스크립트 언어에서 예약된 키워드는 이름으로 사용할 수 없습니다.

 

문제 풀기 

변수 선언하기(declaration)변수 선언하기(declaration)

 

1. 변수 선언

let course;

 

2.변수에 값 할당하기(Assignment)

 

let course; // TODO : 선언되어 있는 변수 course에 문자열 'code states'를 할당하세요.

course ='code states';

 

3.값의 표현(expression)

 

let speed, distance, time;

speed = 5;

distance = 10;

time = distance / speed; // JS : speed와 distance의 값을 조회하여, `/` 연산자와 함께 컴파일 한다!

 

4.함수(function)

 

함수입력(input)을 받아 출력(output)을 하는 하나의 작은 기능 단위입니다.

 

function sum(num1, num2) {

let result; result = num1 + num2;

return result;

}

let output = sum(1, 2); // 3

 

  5.함수의 선언

 

function plusOne(input1) {

input1 = input1 + 1;

return input1;

}



let minusOne = function (input2) {

input2 = input2 - 1;

return input2;

};

 

6.함수의 호출(invoke; call)

 

변수에 함수가 담겨있다면, 다른 변수와는 다르게 () 괄호를 붙여서 함수를 호출할 수 있습니다. 또한 입력값을 설정할 수도 있는데요, 이를 전달인자(argument), 줄여서 인자라고 부릅니다.

 

let word = speakUp('hello world');

// 변수 word에 할당 된 함수 speakUp에 문자열 'hello world'를 인자로 넣어 호출됩니다. // 이제, 변수에 값을 담는 것을 "할당한다" 라고 합시다 :)

 

 

7.함수의 리턴(return)

 

// 문자열을 인자로 받아서 느낌표를 붙여서 리턴 해주는 함수 returnWordWithJoy가 있습니다.

// 함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고, 그 결과값을 변수 word에 할당하세요.

 

function returnWordWithJoy(word) {

  

  if (typeof word !== 'string') {

    return 'wrong type';

  } else {

    return word + '!';

  }

}



let word = "I love coding"; // TODO

 

8.타입(type)

 

let thing, num;



function goGet(thing,num){

   return '혜선아, 가서 '+ thing + num + '개 가져다 줄래?';

}

let result = goGet(thing,num);

 

9.타입에 따른 작동 방식의 차이

 

// TODO : 변수 score에 숫자 100이 할당되도록 하기 코드를 수정하세요.

let score = 90 + '10';

 

 

10. convertToNumber

 

*임의의 값을 입력받아 수(number)의 형태로 리턴해보기

 

function convertToNumber(anything){

  if (isNaN(Number(anything))){

     return NaN;

  } else{

     return Number(anything);

  }

}

 

isNaN() 함수는 어떤 값이 NaN인지 판별합니다.

 

11.convertToString

 

function convertToString(anything){

  if (anything==null){

     return 'Null';

  } else{

     return String(anything);

  }

}



let anything = convertToString()

console.log String(anything);