20210704 JavaSciprt DeepDive 02 : 타입 변환, 단축평가, 옵셔널 체이닝(?.), null 병합 연산자(??), 객체 리터럴, 프로퍼티, 원시값 vs 객체, 복사, 함수(즉시 실행 함수, 재귀함수, 중첩함수, 콜백함수, 고차..
JavaScript Deep Dive 02 용어 및 중요사항 정리 타입 변환 타입 변환 : 기존 원시 값을 사용해 다른 타입의 새로운 원시값을 생성하는 것 명시적 타입변환, 암묵적 타입 변환 둘다, 원시값은 변경 불가능한 값(imutable value)이라서 기존 원시값을 직접 변경하는 것은 아님 (부수 효과X, 재할당X) 암묵적 타입 변환(implicit coercion), 타입 강제 변환(type coercion) : 표현식을 평가하는 도중 자바스크립트 엔진에 의해 암묵적으로 변환되는 것 문자열 타입으로 암묵적 변환 문자열 연결 연산자로 (+)가 작용 하는 경우, 문자열 이외의 것들 문자열 타입으로 변환 Type + '' -> 'Type' Symbol 타입의 경우에만 타입..
20210703 JavaSciprt DeepDive 01 : 변수, 표현식과 문, 데이터 타입, 연산자, 제어문
JavaScript Deep Dive 01 용어 및 중요사항 정리 변수 변수 : 확보한 메모리 공간 자체 or 메모리 공간 식별자 식별자 : 어떤 값을 구별해서 식별할 수 있는 고유한 이름(식별자는 값이 아니라, 메모리 주소를 기억함으로서 메모리 주소에 붙인 이름 역할을 함) 변수선언: 변수를 사용하기 위한 메모리 공간 확보와 변수 이름과 확보된 메모리 공간의 주소 연결 (값 저장 준비, var, let, const) 값 할당 없이 변수선언만 되어도, undefined가 기본으로 할당 되어 초기화 됨 변수 호이스팅 : 변수 선언문이 코드 작성 맨위로 올라 간듯이 동작하는 특징 변수 선언이 런타임 전에 실행되기 때문 (var, let, const, function, function*, class 키워드로 ..
20210519 JavaSciprt 04 : 데이터 가변성(원시형 데이터), 불변성(참조형 데이터), 메모리 사용, 복사(깊은, 얕은 복사), import, export, Lodash API, JSON
JavaScript04 Javascript : 데이터의 불변성, 가변성, 메모리 사용 데이터 불변성 (Immutability) 원시 데이터 (Primitive) : String, Number, Boolean, undefined, null 데이터 불변성 : 메모리에 쓰인 데이터가 변하지 않음, 수정되지 않음 데이터 모양이 다르면 다른 것이다. 새로운 모양의 데이터 일 경우 새로운 메모리를 사용하고 같은 모양의 경우에는 같은 메모리를 사용 (메모리 위치와 데이터 모양의 일치) 원시형 데이터의 메모리 사용 let a = 1; let b = 4; // -------------------- Memory -------------------------- // |1: 1 |2: 4 |3: |4: // ---------..
20210517 JavaSciprt 02 : 함수(매개변수, 인수, arguments 키워드, Arrow function, IIFE, 호이스팅, 타이머함수, 콜백) , 클래스(prototype, functional class, this(normal, arrow), ES6class, 상속)
JavaScript02 Javascript : 함수 함수 선언 function sum(x, y) { console.log(`process : ${x + y}`); // 함수가 호출되면 항상 실행하는 부분 return x + y; // 함수 호출 결과로 변수에 담을 수 있는 곳 }매개 변수와 인수 인수 : 함수를 사용하면서 사용되어지는 진짜 값 sum(1, 3) -> 1, 3 매개변수 : 들어 오는 인수를 어떻게 사용할지 함수 로직을 표현함에 있어서 인수와 로직을 연결하는 변수 sum(x, y) -> x, y 함수의 사용 변수에 담아서 사용하는 경우 반복되는 값을 연산하는 경우 함수 실행 값을 담아서 사용하는 것이 효율적임 // 함수 호출 : process 실행 & 변수에 return 값 저장 const ..
20210513 JavaSciprt 01 Node.js 개념, 환경설정(NVM, NPM, parcel-bundler, 유의적 버전), 데이터 타입, 연산자, 반복문, 조건문, 반복문, 변수유효범위(var, let, const), 형변환(자료형의 따른 연산)
JavaScript01 Node.js Node.js : Chrome V8 JS엔진으로 빌드된 JS 런타임 런타임 : 프로그래밍 언어가 동작하는 환경 환경종류 : 컴퓨터 or 브라우저 프론트 작업할 때 도와주는 것이 필요한데 이를 NodeJS를 통해서 가능 HTML, CSS, JS -> Browser에서만 동작 프론트 작업할 때 도와줄 수 있는 툴을 컴퓨터 환경에서 즉, NodeJS에서 활용할 수 있음 이를 browser에서 결과를 보여줄려면 HTML, CSS, JS로 변환 작업이 필요하고, 변환작업을 NodeJS(컴퓨터) 에서 가능 Node.js 환경설정 NVM (Node Version Manager) window는 NVM - Windows 설치 유의적 버전 : 3단계의 .을 통해 버전을 나타내는 표기법..