[JavaScript - 심화] 원시타입과 객체타입
·
javascript
원시타입과 객체타입의 차이 (글)원시 타입과 객체 타입의 차이점을 알아보자. 자바스크립트의 타입은 크게 원시 타입과 객체 타입으로 나눠지게 된다.자바스크립트 모든타입을 원시타입과 객체타입으로 구분하는 이유는,원시타입과 객체타입은 값이 저장되거나 복사되는 과정이 서로 다르기 때문이다.원시 타입의 경우에는 값 자체로서 변수에 저장되고 복사되는 반면에, 객체 타입의 경우 참조값을 통해 변수에 저장되고 복사된다.원시타입과 객체타입의 차이 (예시)예시를 들어 이해해보자!원시타입첫 번째, 아래와 같은 코드가 있다고 해보자. p1에는 1이라는 값으로 초기화하고 p2에는 p1에 저장된 값을 복사했다.let p1 = 1;let p2 = p1;메모리에는 아래처럼 저장된다.만약에 p2의 값을 2로 변경시키는 코드를 추가하면..
[JavaScript - 심화] Spread 연산자와 Rest 매개변수
·
javascript
Spread 연산자란?Spread라는 단어의 뜻을 살펴보면 '흩뿌리다', '펼치다' 라는 뜻을 갖는다.Spread 연산자는 객체나 배열에 저장된 여러 개의 값을 개별로 흩뿌려주는 역할을 하는 연산자로 ...의 형태이다.배열에 사용하는 방법let arr1 = [1, 2, 3];let arr2 = [4, 5, 6];두 개의 배열이 있다고 하자. arr2 배열 사이에 arr1을 넣어 [4, 1, 2, 3, 5, 6]으로 만들고 싶을 때,아래처럼 만들면 어떤 불편함이 있을까?let arr2 = [4,arr1[0], arr1[1], arr1[2], 5, 6];console.log(arr2); //4, 1, 2, 3, 5, 6일단 귀찮기도 하고, arr1 배열에 원소가 추가되거나 삭제되어 배열이 변경되는 경우 ar..
[JavaScript - 심화] 구조 분해 할당
·
javascript
이정환 강사님의 인프런 강의, '한 입 크기로 잘라먹는 리액트'의 강의 내용과 사진 자료를 바탕으로 정리한 내용입니다.구조 분해 할당구조 분해 할당은 배열의 요소 또는 객체의 속성을 분해하여 각 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다. 1. 배열의 구조 분해 할당배열 arr의 요소를 각각 하나의 변수에 담고 싶을 때는 아래처럼 코드를 작성한다.let arr = [1, 2, 3];/* let one = arr[0]; let two = arr[1]; let three = arr[2];*/let [one, two, three] = arr; //훨씬 보기 좋음console.log(one, two, three);이렇게 코드를 작성하면 one에는 arr[0]의 값인 1이 two에는..
[JavaScript - 심화] Truthy와 Falsy
·
javascript
이정환 강사님의 인프런 강의, '한 입 크기로 잘라먹는 리액트'의 강의 내용과 자료를 바탕으로 정리한 내용입니다. JavaScript에서는 모든 값을 Truthy 혹은 Falsy로 평가한다. 따라서 참, 거짓을 의미하지 않는 값도 조건문 내에서는 참, 거짓으로 평가한다.이런 특징을 잘 이용하면 우리가 특정 상황에서 조건문을 간결하고 강력하게 만들 수 있다.이번 포스팅에서 어떤 값이 Truthy하고 어떤 값이 Falsy하게 평가되는지 살펴보고, 이를 활용하여 조건문을 간결하게 만드는 방법을 알아보자!1. Falsy한 값MDN 문서Falsy는 JavaScript에서 논리 연산 시 false로 평가되는 값들을 의미하며,자바스크립트에는 총 8가지의 Falsy한 값이 존재한다.falseundefinednull0-..