✍ 공부/JavaScript

    [ 모던 자바스크립트 Deep Dive ] 원시 타입과 객체의 비교

    0. 원시 타입 ? 객체 타입 ? 자바스크립트가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입)은 크게 원시 타입과 객체 타입으로 구분할 수 있습니다. 차이점 원시 값은 변경 불가능한 값. 객체는 변경 가능한 값입니다 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장됩니다. 그러나, 객체를 변수에 할당하면 변수에는 참조 값이 저장됩니다. 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달됩니다. 이를 값에 의한 전달이라고 합니다. 이에 비해 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달됩니다. 이를 참조에 의한 전달이라 합니다. 🤔 상수(const)와 변경 불가능한 값은 ..

    [ 모던 자바스크립트 Deep Dive ] 프로퍼티와 식별자 네이밍 규칙

    프로퍼티 객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성됩니다 let person = { name: 'Lee', age: 20 } 일반적으로 마지막 프로퍼티 뒤에는 쉼표를 사용하지 않으나 사용해도 좋다고 합니다. 여기서 name, age는 프로퍼티 키로, 프로퍼티 값에 접근할 수 있는 이름으로서 식별자 역할을 합니다. 식별자 네이밍 규칙은 뭘까요? 식별자 네이밍 규칙 식별자는 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러 기호($)을 포함할 수 있습니다. 식별자의 첫 문자는 숫자가 될 수 없습니다 예약어는 식별자로 사용될 수 없습니다. ( class, this while ... ) 만약에 식별자 네이밍 규칙을 따르지 않으면 어떻게 될까요? ""따옴표를 사용하면 됩니다. 간단하죠? con..

    [ 모던 자바스크립트 Deep Dive ] 옵셔널 체이닝 연산자 && null 병합 연산자

    0. 용어 설명 falsy값 : false로 판단되는 값. false,undefined, null, NaN, -0, 0, '' 1. 옵셔널 체이닝 연산자 옵셔널 체이닝 연산자는 ES11(ECMAScript2020)에서 도입되었습니다. ?.

    [ 모던 자바스크립트 Deep Dive ] 반복문

    1. 반복문 반복문은 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행합니다. 이는 조건식이 거짓일 때까지 반복됩니다. 자바스크립트는 세 가지 반복문인 for, while, do...while문을 제공합니다 반복문 + 레이블문 이 포스팅과 비슷하죠? 하지만 이번 반목문은 for, while, do...while에 대해 조금 더 알아보는 시간을 가질 예정입니다! 레이블문이 궁금하다면 위의 링크로 슝 날아가보세요 for문 for문은 조건식이 거짓으로 평가될 때 까지 코드 블록을 반복 실행합니다다. for(let i = 0; i < 2; i++){ console.log(i) } for문으로도 무한루프를 만들 수 있습니다. for문의 ..

    [ 모던 자바스크립트 Deep Dive ] 타입 변환 (자바스크립트 ! 두번)

    1. 문자열 타입으로 변환 String 생성자 함수를 new 연산자 없이 호출하는 방법 Object.prototype.toString 메서드를 사용하는 방법 문자열 연결 연산자를 이용하는 방법 // 1 String(Infinity); // 2 (Infinity).toString(); // 3 Infinity + "" 2. 숫자 타입으로 변환 Number 생성자 함수를 new 연산자 없이 호출하는 방법 parseInt, parseFloat 함수를 사용하는 방법(문자열만 숫자 타입으로 변환 가능) +단항 산술 연산자 이용 *산술 연산자 이용 // 1 Number(1.1) // 2 parseInt(1.1) // 3 +'1.1' // 4 '1' * 1 3. 불리언 타입으로 변환 Boolean 생성자 함수를 ne..

    [ 모던 자바스크립트 Deep Dive ] 반복문 + 레이블문

    1. 반복문 너무 익숙한 반목문. 조건식의 평가 결과가 참인 경우 코드 블록 실행 그 후 조건식을 다시 평가하여 여전히 참인 경우 코드 블록을 다시 실행. 이는 조건식이 거짓이 될 때까지 계속 반복. 자바스크립트는 for, while, do ... while문을 제공 대체 기능 자바스크립트는 배열을 순회할 때 사용하는 forEach 메서드, 객체의 프로퍼티를 열거할 때 사용하는 for ... in ES6에서 도입괸 이터러블 순회 for...of등 반복문을 대체할 수 있는 기능을 제공한다. 2. 종류 for문 for (let i = 0; i < 2; i++){ console.log(i) } while문 반복 횟수가 불명확할 때 주로 사용 let count = 0 while (count < 3){ conso..

    [ 모던 자바스크립트 Deep Dive ] switch 문

    Switch 문 switch문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다. casde문은 상황(case)를 의미하는 표현식을 저장하고 콜론으로 마친다. 그리고 그 뒤에 실행할 문들을 위치시킨다. switch문의 표현식과 일치하는 case문이 없다면 실행 순서는 default문으로 이동한다. default문은 선택사항으로, 사용하지 않을 수도 있다. switch(표현식){ case 표현식 1: switch 문의 표현식과 표현식 1이 일치하면 실행 break case 표현식 2: switch문의 표현식과 표현식 2가 일치하면 실행 break default: switch문의 표현식과 일치하는 case문이 없을 때 실행 }

    [ 모던 자바스크립트 Deep Dive ] typeof 연산자

    1. typeof 연산자 typeof연산자는 피연산자의 데이터 타입을 문자열로 반환한다 반환값 : string, number, boolean, undefined, symbol, object, function null을 반환하는 경우는 없으며, 함수의 경우 function을 반환한다. typeof '' // -> string typeof 1 // -> number typeof NaN // -> number typeof true // -> boolean typeof null // -> object typeof [] // -> object typeof {} // -> object typeof new Date() // -> object typeof /test/gi // -> object // (정규식) type..