UX·UI - FrontEnd Dev. Story

프론트엔드/Javascript

[Javascript] 자바스크립트 기초 용어 공부하기

클로이겅쥬 2020. 7. 31. 10:55
반응형

함수

- 하나의 단위로 실행되는 문의 집합. 

 

-반환값

: 함수 호출의 값을 반환(return)값이라고 한다. 함수 바디안에서 return 키워드 사용하면 함수를 즉시 종료하고 값을 반환한다.

 

 

-호출과 참조

: 함수 식별자 뒤에 괄호()를 쓰면 함수를 호출하려고 하는것이고 함수 바디를 실행시킨다.

그리고 호출한 표현식은 반환값이 된다.

 

괄호를 쓰지 않는다면 다른 값과 마찬가지로 함수를 참조하는 것이며 그 함수는 실행되지않는다.

 

getGreeting();//"Hello World!"

getGreeting; // function getGreeting()

 

-함수와 매개변수

: 함수 호출하면서 정보를 전달할 때는 함수 매개변수를 이용한다. 

 

function avg(a,b)	{	// a와 b는 정해진 매개변수
	return (a + b)/2;	// 함수가 호출되면 정해진 매개변수는 값을 받아 실제 매개변수가 된다
}

avg(5, 10);				// 7.5 

실제 매개변수는 변수와 매우 비슷하지만 함수 바디 안에서만 존재합니다.

const a = 5, b = 10;
avg(a,b);				//첫 행의 a,b와 avg 매개변수 a,b는 같은 이름이지만 다른 변수다.

1. 매개변수 해체

- 매개변수는 여러면에서 변수와 거의 비슷하다. 해체 할당과 마찬가지로 프로퍼티 이름은 반드시 유효한 식별자여야하고 객체에 해당 프로퍼티가 없는 변수는 undefined 할당받는다.

 

 

this 키워드

- this는 일반적으로 객체지향 프로그래밍 개념에 밀접한 연관이 있다. 

 

 

객체와 객체지향 프로그래밍

- 배열은 값을 가지며 각 값에는 숫자형 인덱스가 있습니다. 객체는 프로퍼티(key, value)를 가지며 각  프로퍼티에는 문자열이나 심볼 인덱스가 있습니다.

- 배열에는 순서가 있습니다. arr[0]은 항상 arr[1]보다 앞에 있습니다. 반면 객체에는 그런 순서가 보장되지 않습니다.

 

프로퍼티는 키(문자열 또는 심볼)과 값으로 구성됩니다.  객체의 진짜 특징은 키를 통해 프로퍼티에 접근할 수 있다는 점입니다.

 

 

 

 

이터레이터

- '지금 어디 있는지' 파악할 수 있도록 돕는다는 일종의 책갈피 개념.

책에 책갈피 끼울 수 있듯 배열에는 이터레이터를 사용할 수 있습니다.

 

book 이라는 배열에 문장 하나씩 있는 문자열이 있을 때 book이라는 배열에 calues 메서드를 써서 이터레이터를 만들 수 있다. 이터레이터를 시작하려면 next라는 메서드를 호출해야한다.

 

const it = book.values();

[이터레이터는 보통 it이라고 줄여쓴다.]

 

이터레이터는 그 자체로 크게 쓸모있다기보다는 더 쓸모있는 동작이 가능해지도록 한다는데에 의미가 있다.

 

 

 

 

 

제터레이터

- 이터레이터를 사용해서 자신의 실행을 제어하는 함수다. 일반적인 함수는 매개변수를 받고 값을 반환하지만 호출자는 매개변수 외 함수의 실행을 제어할 방법이 없는데 제너레이터는 그렇지 않다.

 

제너레이터는 두 가지 개념이 있는데

하나는 함수의 실행을 개별적 단계로 나눔으로써 함수의 실행을 제어한다는 것.

다른 하나는 실행중인 함수와 통신한다는 것.

 

* 제터리이터는 호출 즉시 실행되지않고 이터레이터를 반환하고 이터레이터 next 메서드를 호출함에따라 실행된다.

 

제터레이터는 function 뒤에 *(애스터리스크) 붙이는데 이것을 제외하면 일반 함수와 같다.

return외에도 yield 키워드를 쓸 수 있다.

 

제너레이터를 사용하면 함수를 훨씬 유연하고 효율적으로 사용할 수 있다. 이제 함수를 호출하는 부분에서 데이터를 제공하고 호출한 함수가 완료되길 기다렸다가 반환값을 받는다는 사고방식에 얽매일 필요가 없다. 제너레이터는 모든 연산을 지연시켰다가 필요할 때만 수행하게 만들 수있다.

 

 

 

서브루틴 (프로시저, 루틴, 서브프로그램, 매크로 - 자스에서는 서브루틴이라는 용어보다 그냥 메서드라 부른다.)

- 서브루틴은 아주 오래된 개념이며 복잡한 코드를 간단하게 만드는 기초적인 수단이다. 서브 루틴은 반복되는 작업의 일부를 떼어내서 이름을 붙이고 언제든 그 이름을 부르기만 하면 실행한다.

 

 

 

 

 

 

 

 

반응형