자바스크립트(10)
-
리엑트의 불변성
리엑트의 가장 중요한 특징이라고 하면 불변성일 것이다. 아래의 궁금증을 가지며 글을 작성해본다.리엑트는 왜 불변성을 가질까?불변성을 지켜 어떤 이점을 가져갈 수 있고, 그에 따른 단점이 무엇일까?불변성 불변성은 메모리에 있는 값을 변경할 수 없는 것을 말한다.하지만 우리는 변수의 값을 곧 잘 변경했었다. 편의상 변경이라고는 하지만 내부적으로는 변하지 않는다.변수는 기존 값을 참조하고, 변수의 값을 변경시 새로운 값이 생성되고 변수는 새로 생성된 값을 참조하게 된다. 아무런 참조가 없는 값은 가비지 콜렉터가 처리하게 된다. 원시 데이터(string, number, boolean, null, undefined, Symbol) : 불변성이 있다. 원시 데이터는 수정시, 메모리에 저장된 값..
2024.04.24 -
실행 컨텍스트
실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 이는 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 선언된 변수를 위로 끌어올리고(호이스팅), 외부 환경 정보를 구성하고 this 값을 설정하는 등의 동작을 수행하는데, 이로 인해 다른 언어에서는 없는 특이한 현상이 발생한다. 클로저를 지원하는 대부분의 언어에서 이와 유사하거나 동일한 개념이 적용되어 있다. 실행 컨텍스트란? 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고 이를 콜 스택에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드..
2023.12.26 -
Javascript 데이터 타입
데이터 타입의 종류 데이터 타입은 크게 두가지가 존재한다. 기본형과 참조형이다. 기본형에는 숫자, 문자열, 불리언, null, undefined 등 이 있으며 ES6에서는 심볼이 추가되었다. 참조형은 객체가 있고, 배열, 함수, 날짜, 정규표현식 등과 ES6에서 추가된 Map, WeakMap, Set, WeakSet 등이 객체의 하위 분류에 속한다. 어떤 기준으로 기본형과 참조형을 구분할까? 일반적으로 기본형은 할당이나 연산 시 복제되고 참조형은 참조된다고 알려져 있다. 엄밀히 말하면 둘 모두 복제를 하긴한다. 다만 기본형은 값이 담긴 주소값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다. 기본형은 불변성을 띈다. 혼란스러울 수 있는데 기본형..
2023.12.18 -
구명보트 [ TIL ] [ Javascript ] [ 프로그래머스 ]
Problem https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬으로 알고리즘 문제를 풀다보니 자바스크립트로 알고리즘 문제를 푸는 감이 떨어진거 같아서 문제를 풀기로했다. Try 우선 배열을 오름차순으로 정렬하고 반복문안에서 배열인덱스와 배열 마지막인덱스를 더했을때 limit 보다 같다면 answer 변수를 1 씩 올려주기로 생각하고 실행에 옮겼다. 이때 고민하다가 떠오른 메소드가 pop() 메소드와 shift() 메소드였다. // 최대 ..
2023.06.15