함수

함수는 자바스크립트에서 재사용 가능한 코드 블록이자 일종의 객체이다. 따라서 속성도 가질 수 있으며 그 속성의 값이 변수라면 property, 함수라면  method가 된다.

 

함수는 선언, 호출, 매개변수, 반환값으로 구성된다.

 

함수 선언

// 선언
function greet(name) { // name : 매개변수
    return `Hello, ${name}!`; // 반환값
}
console.log(greet('Alice')); // "Hello, Alice!" // 호출

 

함수 표현식

함수 선언과 달리 변수에 할당되는 방식으로 정의되는 함수이다.

let greet = function(name) {
    return `Hello, ${name}!`;
};
console.log(greet('Bob')); // "Hello, Bob!"

 

let greet : let 변수로 greet라는 이름의 변수를 선언한다.

function(name)  : 매개변수 name을 받는 함수를 정의한다.

{ return ~ } : 함수의 본문으로 'Hello, ${name}!'을 반환한다. 템플릿 리터럴을 사용하여 매개변수 name의 값을 포함한 문자열로 반환한다.

 

화살표 함수

ES6부터 도입된 것으로 함수를 간결하게 표현하는 문법이다.

let greet = (name) => `Hello, ${name}!`;
console.log(greet('Charlie')); // "Hello, Charlie!"

 

함수 키워드와 이름이 생략되고 전달받을 매개변수만 괄호 안에 표기한다.

함수의 본문을 작성하는 중괄호와 반환 키워드가 생략되고 본문을 바로 표기할 수 있다.

728x90
반응형

'Program Language > JavaScript' 카테고리의 다른 글

JavaScript #14 ES6+ 문법  (4) 2024.07.23
JavaScript #13 DOM(Document Object Model)  (0) 2024.07.23
JavaScript #10 조건문과 반복문  (1) 2024.07.23
JavaScript #9 데이터 타입  (9) 2024.07.22
JavaScript #8 클로저(Closure)  (0) 2024.07.22

리스트

순서를 가지는 객체의 모음이다.

list_1 = []	# 빈 리스트 	
list_2 = [0, 1] # 정수타입
list_3 = ['a', 'b', 'c'] # 문자타입
list_4 = [0, 1, 'a', 'b'] # 정수와 문자타입
list_5 = [0, ['a', 'b']] # 리스트는 리스트를 요소로 가질 수 있다.

 

0개 이상의 요소를 콤마로 구분하며 전체 요소는 대괄호로 감싼다.

 

값을 참조할 때는 대부분의 프로그래밍 언어에서 사용되는 배열과 마찬가지로 인덱스로 접근할 수 있다.

 

역시 첫 번째 인덱스는 0으로 시작한다.

 

>>> list_1 = []
>>> list[0]
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    list[0]
TypeError: 'type' object is not subscriptable
# 비어있기 때문에 값을 참조할 수 없다.

>>> list_2[1]
1

>>> list_3 = ['a','b']
>>> list_3[0]
'a'

>>> list_5[1][1]
'b'

 

리스트 내부에 리스트 요소는 다차원 배열의 접근과 유사하다.

 

함수

리스트는 다양한 함수를 사용해서 다룰 수 있다.

 

 

append

리스트 맨 끝에 요소를 추가한다.

>>> list_functions = []
>>> list_functions.append('a')
>>> list_functions.append('b')
>>> list_functions
['a', 'b']

 

insert

지정한 위치에 요소를 추가할 수 있다.

>>> list_functions.insert(0, 'aa')
>>> list_functions
['aa', 'a', 'b']
# 지정한 인덱스에 요소가 추가되고 그 뒤로 기존 요소들이 한칸씩 밀린.

 

pop

리스트의 마지막 요소를 반환 후 삭제한다.

>>> list_functions.pop()
'b'
>>> list_functions
['aa', 'a']

# 요소를 반환 후 해당 리스트에는 제거됨

 

remove

지정한 값과 동일한 요소를 삭제한다.

>>> list_functions = ['a', 'a', 'b']
>>> list_functions.remove('a')
>>> list_functions
['a', 'b']
# 동일한 요소가 있을 경우 먼저 나오는 요소가 제거된다.

 

index

요소의 인덱스를 반환한다.

>>> list_functions.index('a')
0
>>> list_functions.append('a')
>>> list_functions.index('a')
0
# 동일한 요소가 있을 경우 먼저 나오는 요소의 인덱스를 반환

 

count

리스트 내에서 지정한 값과 동일한 요소의 개수를 반환한다.

>>> list_functions.count('a')
2

 

sort

요소들을 정렬한다. 

>>> list_char = ['d', 'a', 'e', 'c', 'b']
>>> list_int = [3, 2, 5, 4, 1]
>>> list_char.sort()
>>> list_int.sort()
>>> list_char
['a', 'b', 'c', 'd', 'e']
>>> list_int
[1, 2, 3, 4, 5]

오름차순으로 정렬되는 것으로 보이지만 정확하게는 기본값이 오름차순이고 이는 함수의 매개변수를 통해 설정가능하다.

>>> list_char_inc = ['d', 'a', 'e', 'c', 'b']
>>> list_char_dec = ['d', 'a', 'e', 'c', 'b']
>>> list_char_inc.sort(reverse=False) # defualt가 False이기 때문에 매개변수가 없으면 오름차순
>>> list_char_dec.sort(reverse=True)
>>> list_char_inc
['a', 'b', 'c', 'd', 'e']
>>> list_char_dec
['e', 'd', 'c', 'b', 'a']

 

reverse

요소들을 역순으로 정렬한다.

>>> list_char = ['d', 'a', 'e', 'c', 'b']
>>> list_char.reverse()
>>> list_char
['b', 'c', 'e', 'a', 'd']

 

clear

리스트의 요소를 모두 제거한다.

>>> list_clear = [1, 2, 3, 4, 5, 6]
>>> list_clear
[1, 2, 3, 4, 5, 6]
>>> list_clear.clear()
>>> list_clear
[]

 

728x90
반응형

함수는 여러 개의 처리를 기능별로 모아 놓은 것이다. 

사용할 때는 함수가 어떤 기능을 하는지만 알아도 되며 내부에서 처리되는 과정들은 알 필요가 없다.

 

이때 함수에 전달하는 데이터를 인수, 함수로부터 돌아오는 값을 반환값이라고 한다.

 

필요에 따라 직접 함수를 구현해서 사용할 수 있지만 파이썬에는 미리 준비된 함수도 많이 제공된다.

 

예를 들어서 두 개의 값을 비교해서 더 크거나 또는 작은 값을 구하는 처리가 필요한 경우가 빈번하게 사용되는 상황일 때, 매번 값을 비교하는 과정을 작성하는 것은 비효율적이다. 이럴 때 함수를 만들어서 처리하면 코드가 간결해진다. 

만약 필요한 함수가 파이썬에서 제공되는 것이라면 직접 구현하는 과정도 생략이 될 수 있다.

 

예시에서 처리하는 기능의 경우 파이썬에서 max(), min() 함수가 있다.

max(a, b)  : a와 b 중 큰 값을 반환

min(a, b) : a와 b 중 작은 값을 반환 

 

함수는 기본적으로 함수명() 형태로 선언되며 실행할 때 괄호를 붙여 실행한다. 어떠한 값을 입력해야 한다면 괄호 안에 변수나 값을 넣는다.

 

 

728x90
반응형

+ Recent posts