먼저 배열을 복사하는 방법을 알기 전에 배열이 어떤 원리로 복사되는지부터 알면 더 좋다. 따라서 만약 원시타입과 객체 타입을 잘 모른다면 간단하게 정리된 아래 글을 읽고 오면 좋다. [JS - 개념] 원시타입(Primitive Type)과 객체 타입(Object/Reference Type) 원시 타입 ( Primitive Type ) 원시 타입에 속하는 데이터 타입에는 아래와 같이 6가지가 존재한다. Number & Bigint String Boolean null unjdefined Symbol 객체 타입은 원시 타입을 제외한 나머지 객체 타입(참조) html-jc.tistory.com 배열 복사하는 방법은 여러가지가 있다. 그중 여러분이 생각하는 가장 쉬운 방법은 아래와 같다. // 1번 문제 let..
Javascript/개념
원시 타입 ( Primitive Type ) 원시 타입에 속하는 데이터 타입에는 아래와 같이 6가지가 존재한다. Number & Bigint String Boolean null unjdefined Symbol 객체 타입은 원시 타입을 제외한 나머지 객체 타입(참조)이라 할 수 있다. 객체의 하위 분류에 속하는 데이터 타입은 아래와 같다. Array FUnction Date RegExp 등등 원시 타입과 객체 타입은 크게 세 가지 측면에서 다르다. 쉽게말해 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달된다. 이를 pass by value 이라 한다. 객체를 가리키는 변수를 다른 변수에 할당하면 우너본의 참조 값이 복사되어 전달된다. 이를 pass by reference 이라..
주의점을 알아보기 전에 기존에 알고 있던 재귀 함수와 증감 연산자에 대해 아주 간단히 알아보고 가보자 1) 재귀 함수 함수가 자기 자신을 호출하는 것을 재귀 호출이라 한다. 이 재귀 호출을 수행하는 함수가 바로 재귀 함수이다. 재귀 함수는 아래와 같이 반복 처리를 위해 사용한다. 반복하는 방법으로는 for문 while문등 여러 가지가 있으니 시의적절하게 사용해야 한다. 무조건 재귀 함수가 좋은 건 아니다. function countdown(n) { if(n
1. parseInt() parseInt() 함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환합니다. parseInt(string); parseInt(string, radix); `string` : 파싱할 값입니다. 문자열이 아닐 경우 Tostring 추상 연산을 사용해 문자열로 변환합니다. `radix` : (optional) string의 진수를 나타내는 2부터 36까지의 정수입니다. 기본 값이 10이 아닙니다 `Number` 자료형이 아닌 경우 `Number`로 변환합니다. console.log(parseInt('123')); // 123 (default base-10) console.log(parseInt('123', 10)); // 123 (explicitly specify base-10)..
sort를 공부하기전에 - 배열 고차 함수 고차 함수는 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 자바스크립트의 함수는 일급 객체이므로 함수를 값처럼 인수로 전달할 수 있으며 반환할 수도 있다. 고차 함수는 외부 상태의 변경이나 가변데이터를 피하고 불변성을 지향하는 함수형 프로그래밍에 기반을 두고 있다. 함수형 프로그래밍은 순수 함수와 보조 함수의 조합을 통해 로직 내에 존재하는 조건문과 반복문을 제거하여 복잡성을 해결하고 변수의 사용을 억제하여 상태 변경을 피하려는 프로그래밍 패러다임이다. 조건문이나 반복문은 로직의 흐름을 이해하기 어렵게 하여 가독성을 해치고, 변수는 누군가에 의해 언제든지 변경될 수 있어 오류 발생의 근본적 원인이 될 수 있기 때문이다. 함수형 프로그래밍은 결국 순수 ..
[프로그래머스] level.1 이상한 문자 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 html-jc.tistory.com 이 문제를 풀다가 replace를 너무 대충알았다고 생각했기에 공식문서와 찾아본 블로그를 바탕으로 정리해봤다. replace() replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수일 수 있다. const p = ..
Object.values() Object.values() 메소드는 전달된 파라미터 객체가 가지는 (열거가능한)속성의 값들로 이루어진 배열을 return 합니다. const object1 = { a: "hello", b:99, c:true, d:[a,b,c,d] }; console.log(Object.values(object1)); //Array ["hello", 99, true, Array ["a", "b", "c", "d"]] // 유사 배열 (숫자를 속성으로 사용하는 객체) const obj = { 0 : 'a', 1: 'b', 2:'c' }; console.log(Object.values(obj)); // [ 'a', 'b', 'c'] // 유사 배열의 number 속성으로 사용한 숫자의 크기 순으..
식별자는 어떤 값을 구별해서 식별해낼 수 있는 고유한 이름을 뜻한다. 식별자는 특수문자를 제외한 문자, 숫자 ,언더스코어(_), 달러 기호($)를 포함할 수 있다. 단, 식별자는 특수문자를 제외한 문자, 언더스코어(_), 달러 기호($)로 시작해야 한다. 숫자로 시작하는 것은 허용하지 않는다. 예약어는 식별자로 사용할 수 없다. await break case catch class const continue debugger default delete do else enum export extends false finally for function if implements* import in instanceof interface* let* new null package* private* protected* ..
Array.prototype.at() 평소에 배열의 마지막이 필요할때 Array[Arrary.length - 1]을 해서 귀찮고 가독성이 떨어졌는데 주말에 심심해서 node.js 16.xxx 변동로그를 쭉보다가 Array.at()을 발견했다. 배열 뒷자리를 나타낼때 너무 편해보였다. 사용법은 간단하다. const array1 = [ 1, 2, 3, 4, 5, 6] console.log(array1.at(-1)) // 6 이렇게 작성하면 된다. 양수를 넣어주면 앞에서부터 카운트 되고 음수를 넣어주면 뒤에서부터 카운트 된다. 주어진 인덱스가 배열에 없으면 undefined를 반환한다. const array1 = [ 1, 2, 3, 4, 5, 6] console.log(array1.at(true)) // 2 ..