함수란?

목적이 있는 작업을 하려고 만든 독립적인 블록

javascript에서 코드 집합을 나타내는 자료형

하나의 데이터 타입

객체라고 할 수 있고 변수에 할당 가능함.

 

구성

1) 함수명

함수 이름입니다! ex) function test() { } ; 에서 함수명은 test입니다.

2) 매개변수

함수에서 전달받은 data를 내부로 전달하기 위해 사용하는 변수입니다.

예를 들면 function test(data) {  console.log(data); } 에서 매개변수는 data입니다. 

3) return 문

함수 실행을 종료하고 return 으로 값을 반환하는 반환문입니다. 객체 포함 모든 타입 값을 반환합니다.

 

 

function test () { 
	console.log("hi");
}
 // 라는 함수가 있다고 하면
 
 console.log(test()); // 값은 hi가 콘솔에 찍힙니다.
 
 function test (data) { 
 	console.log(data);
 }
 // 라는 함수가 있고
 
 console.log(test("함수테스트");
 
 //라고 하면 data에 "함수테스트"라는 값이 들어가 "함수테스트"라고 콘솔에 찍힙니다.
 
 변수에 함수를 정의 할 수도 있습니다.
 
 var app = function() { 
 	console.log("테스트!");
 }
 app();
 // 테스트 라고 콘솔이 찍힙니다.
 
 function sum(x,y) { 
 	return x + y;
 }
 
 var dataSum = sum(1,2);
 console.log(dataSum) 은 1+2 = 3이 찍힙니다. 
 
 
 //ES6부터는 arrow function 이 도입되서
 
 var test = () => console.log("test")
 test();
 // test가 콘솔에 찍힙니다!

 

배열을 사용하는 이유

많은 데이터를 저장하고 출력하려면 출력하고자하는 수 만큼 변수 선언을 하고 하나하나 출력을 해야겠죠?

그런데 이 값을 하나의 배열에 넣어 for문을 이용해 값을 넣어주고 출력하면 하나의 배열로 배열안에 들어있는 모든 변수를 한번에 출력이 가능하니 효율적이고 쓸대없는 코드를 줄일 수 있어서 사용을 합니다.

 

자바스크립트의 배열 선언

자바스크립트의 배열 선언입니다.

let arr = new Array();
let arr = []; // 배열 만들기

let Test = ['a','b','c']

console.log( Test.length ); // 배열의 길이를 구할 수 있습니다. (들어있는 변수 갯수)
console.log( Test ); // 배열의 전체 요소를 출력합니다 a,b,c

let arr1 = ['a', { test: '배열 테스트'}, true, false]; //처럼 여러가지 자료형을 넣을 수 있습니다.

 이런식으로 사용을 할 수 있습니다.

 

 

큐, 스택

큐는 배열을 사용해 만들 수 있는 대표적 자료구조입니다.

큐에서 사용하는 연산은 아래와 같습니다.

  • push – 맨끝에 요소를 추가합니다.
  • shift – 제일 앞 요소를 꺼내 제거한 후 남아있는 요소들을 앞으로 밀어줍니다. 

스택에서 사용하는 연산은 아래와 같습니다.

  • push – 요소를 스택 끝에 집어넣습니다.
  • pop – 스택 끝 요소를 추출합니다.

 

ES6 이전의 Javascript에서는 var가 변수 선언방법 중 유일한 방법이였습니다.

하지만 ES6에서는 let, const 가 나왔습니다.

 

이전에 변수란 무엇인가?

변수란 데이터를 담기 위한 메모리 공간입니다.

var helloworld; // 변수 선언. undifined
var hi = hello; //  hello를 hi에 할당
var a,b,c,d; // 변수 a,b,c,d를 선언
let test = test;
const test = test;

이런 식으로 값을 변수에 할당 할 수 있습니다.

 

var

var( 변수 재선언 가능)

변수 선언을 여러 번해도 에러없이 각기 다른 값이 출력  될 수 있습니다.

var test = '안녕1';
console.log(test); // 안녕1

var test = '안녕2;
console.log(test) // 안녕2

이런식으로 같은 test라는 변수를 계속 재선언 가능하면 코딩을 할 때 헷갈리거나 하는 일이 종종 생깁니다.

이를 보안하기 위해 ES6부터 let, const가 추가 되었습니다.

let

let 은 ( 변수 재선언 불가능,  변수 재할당 가능)

 

let test = '안녕';
console.log(test) // 안녕

test = '안녕 변경!';
console.log('test') // 안녕 변경!

let test = '안녕 변경의 변경!!!';
console.log('test') // 에러!!!!!!!!!!

let은 다시 재선언은 불가능하지만 재할당은 가능합니다.

 

const

const( 변수 재선언, 재할당 모두 불가능 )

const test = '안녕';
console.log(test); // 안녕

test = '안녕 바꿔치기';
console.log(test); // 에러--

const test = '안녕 바꿔치기!';
console.log(test); // 에러--

const 경우 재할당, 재선언 모두 불가능합니다.

 

그럼 무엇을 사용해야 하는가 ?

var는 ES5 변수 선언이라서 쓰이지 않습니다. 대부분 let, const를 많이 사용하는데

상황에 맞게 let, const를 써주면 될 것 같습니다.

예를 들면 재할당이 필요 없는 경우 => const  필요 한 경우 => let 이렇게 사용하는게 좋을 것 같습니다.

+ Recent posts