JavaScript

[모던 자바스크립트 Deep Dive] 06장 - 데이터 타입

6장 도입데이터 타입(=타입): 값의 종류js의 모든 값은 데이터 타입을 가짐7개의 데이터 타입 제공 - 원시 타입과 객체 타입으로 분류6.1 숫자 타입js는 하나의 숫자 타입만 존재배정밀도 64bit 부동소수점 형식을 따름모든 수를 실수로 처리, 정수를 표현하기 위한 데이터 타입 존재X정수로 표시된다해도 사실은 실수임 → 정수로 표시되는 수끼리 나누더라도 실수가 나올 수 있음정수, 실수, 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64bit 부동소수점 형식의 2진수로 저장js는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공X → 모두 10진수로 해석그 외 숫자 타입 가능한 표현 방법Infinity: 양의 무한대-Infinity: 음의 무한대NaN: 산술 연산 불가(not..

JavaScript 2022.12.19

[모던 자바스크립트 Deep Dive] 05장 - 표현식과 문

5.1 값값(value): 식(표현식) 이 평가되어 생성된 결과평가: 식을 해석해서 값을 생성하거나 참조하는 것// 10 + 20은 평가되어 숫자 값 30을 생성10 + 20; // 30모든 값은 데이터 타입을 가지며, 메모리에 2진수(bit의 나열)로 저장됨메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있음 ex) 0100 0001 - 65(숫자로 해석) or ‘A’(문자로 해석)변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 → 변수에 할당되는 것은 값// 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다.var sum = 10 + 20;변수 메모리 공간에 저장되는 것은 10+20이 아닌 값 30 → 10 + 20..

JavaScript 2022.12.19

[모던 자바스크립트 Deep Dive] 04장 - 변수

4.1 변수란 무엇인가? 왜 필요한가?10 + 20자바스크립트 엔진이 위 코드를 계산(평가)하려면 먼저 10, 20, + 라는 기호(리터럴과 연산자)의 의미를 알고 있어야 하며, 10 + 20 이라는 식(표현식)의 의미도 해석(파싱)할 수 있어야 함자바스크립트 엔진은 + 연산을 수행하기 전에 피연산자 값을 기억함컴퓨터는 연산과 기억을 수행하는 부품이 나눠져 있음CPU를 통해 연산메모리를 사용해 데이터를 기억메모리데이터를 저장할 수 있는 메모리 셀의 집합체메모리 셀 하나의 크기: 1byte(8bit)컴퓨터는 메모리 셀의 크기인 1byte 단위로 데이터를 저장하거나 읽어들임각 셀은 고유의 메모리 주소를 갖음메모리 주소메모리 공간의 위치를 나타냄0부터 시작해서 메모리 크기만큼 정수로 표현됨ex) 4GB 메모리..

JavaScript 2022.12.12

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

javascript | forEach, map, filter, reduce 메소드, 차이점

이들은 배열의 각 요소에 대해 수행하는 메소드이다.   forEachforEach는 주어진 함수를 배열 요소 각각에 대해 실행한다.간단하게 생각하자면 for 반복문을 대신 사용하는 메소드이다. 참고한 강의의 강사님은 본인의 뇌피셜로 forEach 함수는대충 아래 코드의 주석처리 된 부분과 같이 만들어져 있을거라 하셨다. forEach는 두개의 매개변수를 받는데, 첫번째 매개변수는 콜백할 함수(predicate), 두번째는 thisArg를 받는다.js는 함수형 프로그래밍이 가능하다. 따라서 함수를 매개변수로 넘기는 게 가능하다.두번째 매개변수인 thisArg는 callback을 실행할 때 this로 사용할 값인데 생략할 수 있다./*function forEach(predicate, thisArg){ f..

JavaScript 2022.07.26