javascript(85)
-
[Javascript] map()과 filter()의 차이 이해하기
map()과 filter(). 둘은 매우 비슷하게 생겼다. 콜백 함수의 인자도 거의 똑같고 생김새까지도. 다만 각 함수는 return하는 기능이 다르다고 할 수 있다. map()callback 함수를 각각의 요소에 대해 한 번씩 순서대로 불러 그 함수의 반환 값으로 새로운 배열을 생성.arr.map(callback(currentValue[, index[, array]])[, thisArg]) callback은 새로운 배열 요소를 생성하는 함수로 다음 세 가지 인수를 가진다.currentValue: 처리할 현재 요소index(Optional): 처리할 현재 요소의 인덱스array(Optional): map()을 호출한 배열thisArg(Optional): callback을 실행할 때 this로 사용할 값..
2025.07.10 -
[Javascript] Number 메서드
Number Contructor Number 객체는 Number() 생성자 함수를 통해 생성할 수 있다. 만일 인자가 숫자로 변한될 수 없다면 NaN을 반환한다.var x = new Number(123);var y = new Number('123');var z = new Number('str');console.log(x); // 123console.log(y); // 123console.log(z); // NaN 그러나 일반적으로 숫자를 사용할 때에는 원시 타입 숫자를 사용한다.var x = 123;var y = new Number(123);console.log(x == y); // trueconsole.log(x === y); // falseconsole.log(typeof x); // number..
2025.07.09 -
[Javascript] String 메서드
String 객체는 원시 타입인 문자열을 다룰 때 유용한 프로퍼티와 메서드를 제공하는 wrapper 객체이다. 변수 또는 객체 프로퍼티가 문자열을 값으로 가지고 있다면 String 객체를 별도 생성하지 않고도 String 객체의 프로퍼티와 메서드를 사용할 수 있다. 원시 타입인 String이 객체의 메서드를 사용할 수 있는 이유는 원시 타입으로 프로퍼티나 메서드를 호출할 때 원시 타입과 연관된 wrapper 객체로 일시적으로 변환되어 프로토타입 객체를 공유하게 되기 때문이다. var str = "문자열"; // 리터럴 문자열 생성var len = str.length; // 문자열 프로퍼티인 length 사용 위 예시에서 생성한 문자열 리터럴 str은 객체가 아님에도 불구하고 length 프로퍼티를 사용할..
2025.07.07 -
[Javascript] 비동기 처리 - (3) async/await
async/await에 대해 알아보기 전에 먼저 자바스크립트에서 Promise를 이용해 비동기 처리를 어떻게 해왔는지 간단히 살펴 보자. 예를 들어 특정 게시물의 작성자 이름을 가져오는 함수는 다음과 같이 작성할 수 있다.function fetchAuthorName(postId) { return fetch(`https://jsonplaceholder.typicode.com/posts/${postId}`) .then((response) => response.json()) .then((post) => post.userId) .then((userId) => { return fetch(`https://jsonplaceholder.typicode.com/users/${userId}`) ..
2025.07.03 -
[Javascript] 비동기 처리 - (2) Promise
지난 포스팅에서 언급했던 비동기 처리의 콜백 함수는 엄연히 말하자면 비동기를 순차적으로 처리하기 위한 일종의 편법 같은 것이지 정식으로 지원하는 비동기 전용 함수가 아니다. 따라서 Promise 객체는 이러한 한계점을 극복하기 위해 비동기 처리를 위한 전용 객체로 탄생하게 되었다. Promise는 비동기 작업의 성공 또는 실패와 그 결과 값을 나타내는 객체로 비동기 작업을 쉽고 깔끔하게 연결할 수 있도록 해준다. 콜백 함수를 통한 비동기 처리의 문제점ES6에 Promise가 도입되어 지금처럼 널리 사용되기 이전에는 아래와 같이 주로 콜백 함수를 다른 함수의 인자로 넘겨 비동기 처리해왔다. findUserAndCallBack(1, function (user) { console.log("user:", ..
2025.07.02 -
[Javascript] Symbol
Symbol이란?1997년 자바스크립트가 ECMAScript로 처음 표준화된 이래로 자바스크립트는 6개의 타입을 가지고 있었다.[원시 타입(primitive data type)]BooleannullundefinedNumberString[객체 타입(Object type)]Object심볼(symbol)은 ES6에서 새롭게 추가된 7번째 타입으로 변경 불가능한 원시 타입의 값이다. 주로 이름의 충돌 위험이 없는 유일한 객체의 프로퍼티 키(property key)를 만들기 위해 사용한다. Symbol의 생성심볼은 아래의 3가지 방법으로 생성할 수 있다.Symbol()Symbol.for()Symbor.iteratorSymbol()Symbol은 Symbol() 함수로 생성할 수 있다. 이때 생성된 심볼은 객체가 아..
2025.06.25