본문 바로가기

전체 글

(12)
모던 자바스크립트 Deep Dive 09장 타입 변환과 단축 평가 1. 타입 변환(Type Conversion) 명시적 타입 변환(Explicit Conversion): 개발자가 직접 타입을 변환하는 것. Number(), String(), Boolean() 등을 사용. 암시적 타입 변환(Implicit Conversion): 자바스크립트 엔진이 자동으로 타입을 변환. 연산자를 사용할 때 주로 발생. 2. 단축 평가(Short Circuit Evaluation) 논리 연산자를 이용한 단축 평가: &&와 ||를 사용하여 조건문을 간단하게 표현할 수 있음. expr1 && expr2: expr1이 참일 때만 expr2를 평가. expr1 || expr2: expr1이 거짓일 때만 expr2를 평가. 3. Falsy 값과 Truthy 값 Falsy 값: 논리 연산에서 거짓으..
codepush 도입기 CodePush는 React Native 개발자가 모바일 앱 업데이트를 사용자의 디바이스에 직접 배포할 수 있도록 하는 App Center 클라우드 서비스이다. 가급적 단순 로직 변경 및 문자열 변경, api 소스코드 변경정도의 js 수정, 라이브러리의 추가/삭제 등.. 네이티브의 설정이 변경되는 경우에는 코드푸시보다는 다시 apk 혹은 ipa를 추출하여 심사를 받는 것이 좋다. CodePush 전체적인 동작 순서 원래는 개발자가 앱스토어에 번들을 올리고 사용자가 그것을 다운받는다. 코드푸쉬를 도입하게 되면, 코드푸쉬 서버에 codepush deployment key가 등록되어있는 번들을 올려놓는다. 자바스크립트를 수정한 후, 코드푸쉬 서버에 수정한 코드를 올린다. 사용자가 어플을 시작하면, codepu..
모던 자바스크립트 Deep Dive 08장 제어문 8장: 제어문 8.1 블록문 블록문(Block Statement): 중괄호 {}로 둘러싸인 코드 블록. 단독으로 사용 가능하며, 제어문과 함수 선언에서도 사용됨. 8.2 조건문 if 문: 조건식이 참이면 코드 블록 실행, 거짓이면 실행하지 않음. else 문을 사용하여 거짓일 때 실행할 코드 블록 추가 가능. switch 문: 표현식의 값에 따라 다른 코드 블록을 실행. 각 case에 해당하는 코드 블록으로 분기. 8.3 반복문 for 문: 초기식, 조건식, 증감식으로 구성된 루프. while 문: 조건식이 참인 동안 코드 블록 반복 실행. do-while 문: 코드 블록을 최초 한 번 실행한 후 조건식 검사. 적어도 한 번은 실행되어야 하는 경우에 유용. 8.4 break 문 break 문: 반복문 또..
모던 자바스크립트 Deep Dive 07장 연산자 7장: 연산자 7.1 산술 연산자 산술 연산자: +, -, *, /, % 등. 이항 산술 연산자: 두 개의 피연산자를 가짐. 단항 산술 연산자: 하나의 피연산자를 가짐. 7.2 문자열 연결 연산자 문자열 연결 연산자(+): 문자열과 다른 데이터 타입을 결합할 때 사용. 7.3 할당 연산자 할당 연산자(=): 변수에 값을 할당하는 연산자. 7.4 비교 연산자 비교 연산자: ==, ===, !=, !==, , = 등. 동등 연산자(==): 타입 변환 후 값 비교. 일치 연산자(===): 타입과 값 모두 비교. 7.5 삼항 조건 연산자 삼항 조건 연산자(? :): 조건에 따라 값을 반환하는 연산자. 7.6 논리 연산자 논리 연산자: && (논리 AND), || (논리 OR), ! (논리 NOT) 등. 단축 평..
모던 자바스크립트 Deep Dive 06장 데이터 타입 6장: 데이터 타입 6.1 데이터 타입의 종류 기본 타입(원시 타입): 숫자(Number), 문자열(String), 불리언(Boolean), undefined, null, Symbol. 참조 타입: 객체(Object), 배열(Array), 함수(Function), 날짜(Date), 정규 표현식(RegExp) 등. 6.2 숫자 타입 숫자 타입: 정수 및 부동 소수점 숫자를 나타냄. IEEE 754 표준: 자바스크립트에서 숫자는 64비트 부동 소수점 형태로 표현. 6.3 산술 연산자 산술 연산자: +, -, *, /, % 등. 산술 연산 시 타입 변환: 문자열 연결(Concatenation) 등이 발생할 수 있음. 6.4 문자열 타입 문자열 타입: 텍스트 데이터를 나타냄. 작은따옴표('), 큰따옴표(") 사..
모던 자바스크립트 Deep Dive 05장 표현식과 문 5장: 표현식과 문 5.1 값 값(Value): 데이터의 표현. 숫자, 문자열, 불리언, 객체, 함수 등이 값이 될 수 있음. 5.2 리터럴 리터럴(Literal): 값을 프로그램에서 직접 지정하는 표기법. 예를 들어, 10, 'Hello', true 등. 5.3 표현식 표현식(Expression): 값으로 평가될 수 있는 문(statement). 평가(Evaluation): 표현식을 실행하여 하나의 값을 만드는 과정. 5.4 문 문(Statement): 프로그램을 구성하는 기본 단위. 표현식이 값으로 평가되는 반면, 문은 어떤 동작을 수행하고 결과를 반환하지 않을 수 있음. 문 종류: 선언문, 할당문, 조건문, 반복문 등. 5.5 표현식인 문과 표현식이 아닌 문 표현식인 문(Expression Stat..
모던 자바스크립트 Deep Dive 04장 변수 4장: 변수 4.1 변수란 무엇인가? 변수(Variable): 데이터를 저장하고 참조하기 위한 식별자. 변수 선언: var, let, const 키워드를 사용하여 변수를 선언. 4.2 식별자 네이밍 규칙 식별자(Identifier): 변수명, 함수명 등을 지칭하는 용어. 네이밍 규칙: 길이 제한 없음. 유니코드 문자, 숫자, 달러 기호($), 언더스코어(_) 사용 가능. 숫자로 시작 불가능. 예약어 사용 불가능. 4.3 변수 선언 var: 함수 스코프를 갖고 있고, 중복 선언이 가능. 호이스팅 발생. let: 블록 스코프를 갖고 있고, 중복 선언이 불가능. 호이스팅 발생. const: 블록 스코프를 갖고 있고, 중복 선언이 불가능. 선언 후 재할당 불가능. 4.4 변수 호이스팅 호이스팅(Hoisting)..
타입스크립트에서 null 과 undefined를 효과적으로 처리하는 방법 null과 undefined 처리는 코드의 안정성과 런타임 에러를 방지하기 위해 중요합니다. 옵셔널 체이닝(’?.’)과 널 병합 연산자(’??’) 옵셔널 체이닝: 객체의 프로퍼티에 접근할 때, 중간에 null 또는 undefined가 있을 경우 에러를 발생시키지 않고 안전하게 접근할 수 있도록 합니다. const name = user?.info?.name; user 객체가 존재하고, info 프로퍼티가 존재하면 name 까지 접근하고 그 값을 반환합니다. 중간에 어떤 프로퍼티가 null 또는 undefined인 경우 value는 undefined가 됩니다. 객체 내부의 중첩된 프로퍼티 접근 const user = { name: 'John', address: { street: '123 Main St', c..