먼저 배열을 복사하는 방법을 알기 전에 배열이 어떤 원리로 복사되는지부터 알면 더 좋다. 따라서 만약 원시타입과 객체 타입을 잘 모른다면 간단하게 정리된 아래 글을 읽고 오면 좋다. [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)..
css css는 마크업 언어로 작성된 웹 페이지에 스타일을 추가하는 데 사용되는 가장 인기 있는 스타일 시트 언어 중 하나입니다. 개발자가 색상, 레이아웃, 글골 스타일, 단락 간격, 열 크기 등과 같은 요소를 쉽게 사용자 지정할 수 있습니다. 웹 페이지에 css를 포함한는 방법에는 3가지가 있습니다. 1. 인라인 - style 속성 사용 예시 1 2. 내부 - 태그 사용 예시 제목 예시 2 3. 외부 - 태그를 사용하여 외부 css 파일을 연결합니다. 예시 제목 예시 3 /* styles.css */ p { color: purple; font-size: 20px; } h1 { background-color: yellow; } css의 장점 1. 사용하기 쉽다. css를 사용하면 이제 웹 애플리케이션 전..
sort를 공부하기전에 - 배열 고차 함수 고차 함수는 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 자바스크립트의 함수는 일급 객체이므로 함수를 값처럼 인수로 전달할 수 있으며 반환할 수도 있다. 고차 함수는 외부 상태의 변경이나 가변데이터를 피하고 불변성을 지향하는 함수형 프로그래밍에 기반을 두고 있다. 함수형 프로그래밍은 순수 함수와 보조 함수의 조합을 통해 로직 내에 존재하는 조건문과 반복문을 제거하여 복잡성을 해결하고 변수의 사용을 억제하여 상태 변경을 피하려는 프로그래밍 패러다임이다. 조건문이나 반복문은 로직의 흐름을 이해하기 어렵게 하여 가독성을 해치고, 변수는 누군가에 의해 언제든지 변경될 수 있어 오류 발생의 근본적 원인이 될 수 있기 때문이다. 함수형 프로그래밍은 결국 순수 ..
코딩테스트 문제를 풀다가 간단한 코드인데 for문으로 하면 통과인데 forEach문으로 하면 실패하는 문제가 있었다. for문이 더 빠르다는 것은 알고있었지만 어느정도 차이나는지 forEach가 무엇때문에 속도가 느린지가 궁금했다. 또한 for문과 forEach의 차이점이 내가 알고있는 것이 전부일까? 더 많은 차이점이 있지않을까 궁금했다. 다른사람들이 말하는 것 처럼 둘의 차이가 어느정도인지 궁금해졌다. 먼저 간단한 개념먼저 알고가자 1. 개념 1) for for문은 ES1 부터 있던 문법이다. for ([initialization]; [condition]; [final-expression]) { statement } 아래 세 가지 모두 생략이 가능하다. initialization : var 또는 le..
[프로그래머스] level.1 이상한 문자 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 html-jc.tistory.com 이 문제를 풀다가 replace를 너무 대충알았다고 생각했기에 공식문서와 찾아본 블로그를 바탕으로 정리해봤다. replace() replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수일 수 있다. const p = ..
여기서 중요한것은 연산자를 누르면 계산이 완료되게 하는 것이다 그리고 숫자가 나란히 나오도록 하는 것도 중요하다 if문 심화 예를 들어 appendOperator(operator) { if (this.operatorChek) return; if (this.equalsCheck) this.equalsCheck = false; this.displayContent += operator; this.operatorChek = true; this.secondClick = false; this.onlyDisplayContent = ""; } 첫줄은 this.operatorChek 가 true이면 return됨으로 이 function (class안에서는 function안써도 됌 )자체가 끝나버림 빠른 return으로 ..