분류 전체보기

[모던 자바스크립트 Deep Dive] 09장 - 타입 변환과 단축 평가

9.1 타입 변환이란?자바스크립트의 모든 값은 타입이 있고, 개발자의 의도에 따라 다른 타입으로 변환 가능명시적 타입 변환(=타입 캐스팅): 개발자가 의도적으로 값의 타입을 변환하는 것암묵적 타입 변환(=타입 강제 변환)원시 값은 변경 불가능한 값 → 타입 변환은 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것단 한번 사용하고 버림 → 기존 변수 값을 재할당하여 변경하는 것이 아님 9.2 암묵적 타입 변환개발자 의도와 상관없이 표현식을 평가하는 도중에 js 엔진에 의해 암묵적으로 타입이 자동 변환되는 것문자열 타입으로 변환1 + "2" // -> "12"+연산자는 피연산자 중 하나 이상이 문자열일 때 문자열 연결 연산자로 동작문자열 연결 연산자: 문자열 값을 만듦, 모든 피연산자는 모두..

JavaScript 2023.01.07

[모던 자바스크립트 Deep Dive] 08장 - 제어문

8장 도입제어문: 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있음⇒ 코드 흐름을 이해하기 힘들고 가독성을 해치는 단점⇒ 추후에 살펴볼 고차 함수를 통해 제어문 사용을 억제하여 복잡성 해결8.1 블록문블록문: 0개 이상의 문을 중괄호로 묶은 것코드 블록, 블록이라고 부르기도 함js는 블록문을 하나의 실행 단위로 취급단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수를 정의할때 사용언제나 문의 종료를 의미하는 자체 종결성을 갖기 떄문에 블록문의 끝에는 세미콜론을 붙이지 않음// 블록문{ var foo = 10;}// 제어문var x = 1;if (x 8.2 조건..

JavaScript 2022.12.19

[모던 자바스크립트 Deep Dive] 07장 - 연산자

7장 도입연산자: 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만듦피연산자: 연산의 대상, 값으로 평가될 수 있는 표현식어야 함7.1 산술 연산자산술 연산자: 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듦산술 연산이 불가능한 경우, NaN을 반환이항 산술 연산자2개의 피연산자를 산술 연산하여 숫자 값을 만듦피연산자의 값을 변경하는 부수 효과 없고 언제나 새로운 값을 만들 뿐임단항 산술 연산자1개의 피연산자를 산술 연산하여 숫자 값을 만듦증가/감소 연산자는 피연산자의 값을 변경하는 부수 효과가 있음피연산자의 값을 변경하는 암묵적 할당이 이뤄짐전위 증가/감소 연산자: 먼저 피연산자의 값을 증가/감소시킨 후, 다른 연산을 수행후위 증가..

JavaScript 2022.12.19

[Git] git 개념 정리

'팀 개발을 위한 Git GitHub 시작하기' 책을 참고하여 정리한 내용입니다. 정리한 개념 목록 branch fork clone pull request merge rebase amend 브랜치 전략 cherry-pick reset revert stash 둘 이상의 원격저장소로 협업하기 01 원본저장소를 복사해서 나의 원격저장소를 만든다(fork) branch, fork 원본 저장소에 커밋을 직접 푸시할 수 있는 사람은 본인(소유자) 뿐 다른 사람이 푸시하려면 협력자(Collaborator)로 등록해야 함 협력자가 5명정도면 걍 모두 협력자 등록하고 브랜치 나눠서 작업하는게 효율적 직접 푸시하는게 부담 → pull request fork한 원격저장소의 브랜치에서 원본저장소의 브랜치로 풀리퀘 fork 브..

Git 2022.12.17

JavaScript | 자바스크립트 개발 환경과 실행 방법

자바스크립트 실행 환경모든 브라우저와 Node.js는 JavaScript를 해석하고 실행할 수 있는 JavaScript 엔진을 내장하고 있음이 둘은 코드가 동일하게 동작하지만, 용도가 다름⇒ 브라우저와 Node.js는 자바스크립트의 코어인 ECMAScript를 실행할 수 있지만, ECMAScript 이외에 추가로 제공하는 기능은 호환하지 않음브라우저주 목적: HTML, CSS, JavaScript를 시행해 웹페이지를 브라우저 화면에 렌더링하는 것ECMAScript와 DOM API 등의 클라이언트 사이드 Web API를 기본적으로 제공Node.js주 목적: 브라우저 외부에서 JavaScript 실행 환경을 제공하는 것ECMAScript와 파일 시스템 등의 고유 API를 기본적으로 제공 웹 브라우저구글 크롬..

JavaScript 2022.12.12

JavaScript | 자바스크립트란?

자바스크립트의 탄생1995년, 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 결정이름 변천 과정: Mocha → LiveScript→ JavaScript현재 모든 브라우저의 표준 프로그래밍 언어로 자리 잡음 자바스크립트의 표준화1996년, 마이크로소프트에서 JavaScript의 파생 버전인 JScript를 인터넷 익스플로러에 탑재JScript와 JavaScript가 표준화되지 못하고 적당히 호환됨 (경쟁) → 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈 발생넷스케이프 커뮤니케이션즈는 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구인 ECMA 인터내셔널에 JavaScript 표준화 요청1997년, ECMA-262라..

JavaScript 2022.12.12

JavaScript | 프로그래밍이란?

프로그래밍컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션프로그래밍 언어는 구문과 의미 조합으로 표현 요구되는 것문제 해결 능력문제(요구사항)를 명확히 이해복잡함을 단순하게 분해자료를 정리하고 구분순서에 맞게 행위를 배열⇒ 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업, 그 결과물이 코드컴퓨팅 사고: 문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 사고 해야 한다.논리적, 수학적 사고 필요해결 과제를 작은 단위로 분해하고 패턴화해서 추출프로그래밍 내에서 사용될 모든 개념은 평가 가능하도록 정의해야 함 프로그래밍 언어문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달돼야 함명령을 수행할 주체는 컴퓨터 → 컴퓨터가 이해할 수 있는 언어인 ..

JavaScript 2022.12.12

javascript | moudule 기본

기본적으로 js 코드를 불러오는 법html코드에 js파일을 다 불러온다.function hello1() { console.log("Hello 1!");}function hello2() { console.log("Hello 2!");}hello1();hello2(); 모듈을 사용하여 js 코드를 불러오는 법만약 불러올 js파일이 10개 이상이면 다 html에 연결을 해줘야하지만,모듈을 사용한다면 main이 되는 파일 하나만 html에 연결해준다.js내에서 다른 js를 포함 시킬 수 있기 때문이다.html에서 script type을 module로 지정해줘야 한다.export function hello1() { console.log("Hello 1!");}export function hello2() {..

JavaScript 2022.09.10