JavaScript (JS) 기본 문법

zeew00·2024년 7월 20일
0
post-thumbnail

자바스크립트 설명글
자바스크립트 비동기 설명글

for 반복문

for문을 사용할 때 초기/조건/증감문을 모두 생략하고 사용이 가능하지만
무한 루프를 탈출할 수 있는 코드를 설정해 주어야 하며 for문은 continue, break
사용이 가능하고 변수의 활용이 용이하다는 장점이 있다.

for ~ of 반복문

반복 가능한 객체에 대해서 반복하고 Array, Map, Set String, TypedArray, arguments
객체등을 포함하며 for문보다 간결하게 사용할 수 있는 장점이 있다.

for ~ in 반복문

객체에 접근하여 객체의 값들의 for ~ in 문을 활용하여 사용할 수 있으며
객체에 쉽게 접근하여 사용 가능하다는 장점이 있지만 성능면에서는 다른 for문들에
비해 느리고 효율이 좋지 않다는 단점이 있다.

.forEach 메서드

주어진 함수를 각 배열 요소에 대해 실행하며 코드가 한눈에 보기 쉽고 성능
측면에서도 준수하다는 장점이 있다. 하지마 continue 및 break 사용이 불가하다.

while 반복문

조건문이 참일 경우 실행되며 true/false 여부를 판단 후 거짓일 경우 실행하지 않는다.

spread 문법

JS에서 스프레드 문법은 배열이나 객체를 펼쳐서 개별 요소로 분리하는 문법이며
주로 배열과 객체의 결합, 복사, 함수 호출 시 인수 전달 등의 상황에서 사용된다.

아래의 사진은 기본 스프레드 문법의 예제 코드이다.

1) 배열의 결합

아래의 사진은 배열+배열, 문자열+문자열의 예제 코드이다.

2) 배열의 복사

위 코드에서는 new~ 배열을 원본 배열의 복사본으로 만들기 위해서 new~ 배열에
할당하고 그 내부에 스프레드 연산자를 통해 원본 변수의 모든 원소를 넣었다.

3) 함수 호출 시 스프레드 문법 사용

함수 호출 시 인자로 스프레드 문법을 사용하여 배열을 펼칠 수 도 있으며
이 방법을 통해 길이가 동적으로 변하는 배열을 함수에 전달하거나 기존 배열을
복사하면서 추가 요소를 포함시킬 수 있다.

아래의 코드는 반복문을 사용해 만들어본 코드이다.

객체에서 스프레드 문법 사용하기

객체에서의 스프레드 문법은 ...기호를 사용하여 객체를 전개한다.
객체를 이용한 스프레드 문법은 ES2018 버전에서 도입되었다.

추가로 객체를 병합할 때에도 스프레드 문법을 사용할 수 있다

위와 같은 스프레드 문법들은 배열과 객체의 요소를 효율적으로 처리하는데 유용하며
코드의 가독성과 유지보수성을 향상 시킬 수 있다는 장점이 있다.
다음으로는 레스트 매개변수에 대해 설명하도록 하겠다.

rest 매개변수

레스트 문법은 3개의 점으로 구성되었다는 점은 스프레드 문법과 동일하지만 기능적으로는
그 반대이며 스프레드는 확장하는 반면에 레스트는 여러 원소를 하나의 원소로 압축한다.

.map 메소드

배열의 각 요소를 순회하면서 콜백함수에서의 실행결과를
리턴한 값으로 이루어진 새로운 배열을 만들어서 반환한다.

.find 메소드

배열의 각 요소를 순회하면서 콜백함수의 조건에 맞느 첫 번째 배열요소를 반환하며 만약 콜백함수의 조건을 만족하는 요소가 없을 시 undefined를 반환하고 종료된다.

.every 메소드

특정한 조건을 만족하는지 배열 내부의 요소를 순회하며 체크하고
콜백함수의 조건에 모든 요소가 부합하면 true 아닐 시 false를 반환한다.

.some 메소드

콜백함수의 조건을 만족하는 요소가 하나라도 있을 경우 true
하나도 없는 경우에는 false를 리턴한다.

.filter 메소드

배열의 요소를 순회하며 콜백함수를 사용하여 원하는 조건에 따라
필터링하는 함수이며 조건에 부합한 결과를 배열을 반환한다.

Math.ceil()

매개변수 값보다 크거나 가장 작은 정수를 반환한다.
(더 간단히 설명하면 소수점 이하의 수는 무조건 올림한다.)

위 코드를 실행하면 solution 함수의 매개변수 값이 15일 시
countOfPizza의 값인 실수 2.1이 소수점 올림 후 3이 되어 반환된다.

참고 자료 및 블로그 링크

for 반복문 참고 블로그
스프레드 문법 참고 블로그
find, map, every, some 참고 블로그
필터 메소드 참조 블로그
profile
컴공 편입 폴붕이의 일상

0개의 댓글