728x90
728x90
JavaScript에서 배열 비교JavaScript에서 배열과 객체는 참조형 데이터이다.이는 변수에 배열 자체가 아닌 배열을 가리키는 참조(주소)가 저장된다는 의미이다.따라서 두 배열이 같은 요소를 가지고 있어도 다른 메모리 주소에 저장되어 있다면 엄격 비교(===)나 동등 비교(==) 연산자를 사용할 때 동등하지 않다고 판단된다.let arr1 = [1, 2, 3];let arr2 = [1, 2, 3];console.log(arr1 === arr2); // false 1. JSON 문자열 변환으로 비교배열을 JSON 문자열로 변환하여 비교하는 방법이다. 배열의 요소와 순서가 같아야 동등하다고 판단되며 중첩 배열도 비교할 수 있다.let arr1 = [1, 2, 3];let arr2 = [1, 2, 3]..
JavaScript에서 문자열을 역순으로 뒤집기알고리즘에서 자주 등장하는 문자열을 뒤집는 방법에 대해 알아보자.JS에서는 문자열 자체를 뒤집는 메서드는 존재하지 않는다.대신 여러가지 방법으로 문자열을 뒤집을 수 있는데 각 방식을 알아보고 적용해보자. 1. Array로 변환해서 reverse()JavaScript에서는 문자열을 배열로 변환한 후 배열의 메서드를 사용해 뒤집을 수 있다.문자열을 배열로 바꾸는 과정에서 split(), reverse(), join() 메서드를 사용하면 간단하게 문자열을 뒤집을 수 있다.아래 코드는 배열로 나누고 뒤집고 스트링으로 합치는 코드이다. split('')로 문자열을 문자 하나하나로 쪼개 배열로 변환한다.reverse()로 배열을 뒤집다.join('')으로 다시 문자열..
1급 함수란 무엇일까?JavaScript에서 1급 함수(First-Class Function)란 함수가 다른 데이터 타입(변수, 객체)처럼 다뤄질 수 있음을 의미힌다.프로그래밍 언어에서 1급 함수는 함수가 아래와 같은 특성을 가질 때 성립한다. 1급 함수는 코드 재사용성과 유연성을 크게 높여준다. 함수를 매개변수로 받거나 반환값으로 사용할 수 있어 동작을 분리하고 조합할 수 있다. 함수를 변수에 할당할 수 있다.함수를 다른 함수의 인자로 전달할 수 있다.함수가 다른 함수의 반환값이 될 수 있다.함수 안에서 다른 함수를 정의할 수 있다. 1급 함수의 특징 함수를 변수에 할당// 함수 선언function greet() { console.log("Hello, world!");}// 함수 표현식으로 변수에..
스코프(Scope)란?자바스크립트에서 스코프(Scope)는 코드에서 변수나 함수가 어디에서 유효하고 접근 가능한지를 결정하는 규칙이다.스코프는 코드 작성 시 변수의 가시성(Visibility)과 생명주기(Lifetime)를 결정하기 때문에 스코프를 명확히 이해하는 것이 자바스크립트 프로그래밍에서 필수적이다.자바스크립트에서 스코프는 크게 두 가지로 나눈다. 전역 스코프(Global Scope)와 지역 스코프(Local Scope) 그리고 더 구체적으로,함수 스코프와 블록 스코프라는 개념이 지역 스코프의 하위 유형이다. 또한, 자바스크립트는 렉시컬 스코프(Lexical Scope)라는 규칙을 따르는데 이 규칙은 함수나 변수가 어디에서 정의되었는지에 따라 접근 권한이 결정된다는 것을 의미한다. 렉시컬 스코프는..
자바스크립트 Promise?자바스크립트에서 비동기 작업을 처리할 때 유용하게 사용되는 것이 Promise 객체이다. Promise는 비동기 작업을 처리하고 이를 통해 비동기 코드를 쉽게 작성하고 관리할 수 있다. 또한 Promise 콜백 함수의 콜백 지옥 문제점을 부분적으로 해결할 수 있다.Promise는 미래에 완료될 작업을 나타내며 성공(resolve) 또는 실패(reject) 여부에 따라 각각 다른 처리를 할 수 있다. 기본적으로 Promise는 비동기 작업의 결과를 추상화하여 성공했을 때와 실패했을 때 각각의 처리를 간편하게 할 수 있도록 도와준다.Promise의 상태Pending(대기): 아직 작업이 완료되지 않은 상태Fulfilled(이행): 작업이 성공적으로 완료된 상태Rejected(거부)..
콜백 함수란?콜백 함수는 다른 함수에 인수로 전달되는 함수이다. 자바스크립트는 함수를 1급 객체(First-class object)로 취급하기 때문에 함수를 변수에 할당하거나 함수의 인수로 전달할 수 있다. 콜백 함수는 일반적으로 비동기 작업을 처리하기 위해 사용된다. 비동기 작업이 완료된 후 호출될 함수를 미리 전달해두고 작업이 끝났을 때 해당 함수가 실행되도록 만드는 방식이다. 콜백함수의 구분콜백함수는 주로 비동기 작업을 처리하기 위해 사용되지만 동기 작업에도 사용할 수 있다. 두 가지 방법의 예시를 통해 콜백 함수를 알아보자. 먼저 두 가지 방식에 대한 차이점을 간단하게 설명하면 동기적 콜백 함수는 코드가 순차적으로 실행된다. 콜백 함수가 완료되기 전까지 다음 코드로 넘어가지 않는다. 비동기적 콜백..