일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Server
- JavaScript
- 백준
- 메모리 배리어
- 완전탐색
- 제로베이스 프론트엔드 스쿨
- 제로베이스
- MemoryBarrier
- 백트래킹
- c#
- 구현
- leetcode
- 문자열&연산자
- dfs
- React
- Algorithm
- C++
- 구조체
- 알고리즘
- 코딩테스트 스터디
- 서버
- 멀티스레드
- 코딩테스트
- BFS
- 프론트엔드 스쿨
- N과 M(2)
- map
- 프로그래머스
- socket
- 자바스크립트
- Today
- Total
Written
JavaScript - 유사 배열 객체 / Array.from() / 화살표 함수 본문
유사 배열 객체
배열 처럼 보이지만, 사실은 배열이 아닌 객체를 말합니다.
대표적으로 자바스크립트의 함수에서 사용가능한 argumnets 객체가 있습니다.
1
2
3
4
5
6
7
8
9
10
11
|
function example(a,b,c) {
for (let i = 0; i < arguments.length; i++){
console.log(arguments[i]);
}
return a+b+c;
}
example(1,2,3);
|
cs |
함수 내부에서 arguments라는 이름으로 배열처럼 사용하고 있습니다.
a,b,c로 들어오는 인자들에 접근할 수 있고, 마치 인자들을 하나의 배열로 묶어 제공하는 것 처럼 보이지만
length만 사용가능하고, 다른 Array 속성들은 사용 할 수 없습니다. 즉 배열에 사용 가능한 다른 내장 메서드들은
사용할 수 없기 때문에 배열이 아닌 유사 배열 객체라고 부르는 것 입니다.
Array.from()
Array.from()을 사용해서 위의 arguments 유사 배열 객체를 배열의 내장 메서드들을 사용 가능한
진짜 배열로 만들 수 있습니다.
Array.from()은
- 유사 배열 객체 (length 속성과 인덱스를 갖는 요소를 가진 객체)
- 순회 가능한 객체 (Map, Set 등 객체의 요소를 얻을 수 있는 객체)
위의 조건들을 만족하는 경우 모두 Array.from()의 인자로 보내서 새로운 배열을 받을 수 있습니다.
String , Set , Map , arguments 등의 경우가 존재하는데 여기서는 arguments의 예제만 살펴보겠습니다.
1
2
3
4
5
6
|
function f() {
return Array.from(arguments);
}
let newArray = f(1,2,3);
// newArray - > [1,2,3]의 배열 생성
|
cs |
Array.from()의 인자로 arguments를 넣으면 배열 메서드들을 사용할 수 있는 진짜 배열을 만들 수 있습니다.
화살표 함수
화살표 함수는 함수를 간단하게 표현하기 위한 방법입니다.
일반적인 함수와는 다르게 this나 super에 대한 바인딩이 없고 메서드로 사용할 수 없으며 생성자로 사용할 수
없습니다. 함수를 간단히 사용하기 위한 도구로 화살표 함수에 대한 다양하고 자세한 내용은 MDN사이트를
통해 공부하면 좋을 것 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
var elements = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
// 아래는 배열을 반환함 : [ 8,6,7,9 ]
elements.map(function(element) {
return element.length;
});
// 위의 일반적인 함수 표현은 아래 화살표 함수로 쓸 수 있다.
elements.map(element => {
return element.length;
});
// 화살표 함수에 들어가는 내용이 return문 딱 하나일때,
// return과 중괄호를 생략할 수 있다.
elemnets.map(element => element.length);
|
cs |
위 내용은 모두 MDN 사이트를 참고하였습니다 !
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions
'Front-end > Java Script' 카테고리의 다른 글
(function() { })() / 함수 정의가 끝나고 괄호가 붙는 경우 / IIFE (0) | 2023.03.08 |
---|---|
JavaScript 프로젝트 과제 (0) | 2023.02.26 |
JavaScript - 값 복사 , 참조 복사 / filter() (0) | 2023.02.01 |
JavaScript 필기노트 2 (0) | 2023.01.02 |
JavaScript 필기노트 1 (0) | 2022.12.29 |