JavaScript

[모던 자바스크립트 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

javascript | 다중토글 구현하기 - forEach, toggle

See the Pen 다중토글 by sanghee01 (@sanghee01) on CodePen.forEach를 이용해 모든 토글들에게 기능을 적용시킨다.(매개변수 이름은 tog라 지었다)각 토글(tog)이 click 이벤트를 받을 시,만약 현재 내용이 안보인다면 내용이 보이도록 show class ( display:block )를 넣고내용이 보인다면 안보이도록 show class를 제거한다. (default는 css에서 display:none처리를 했다)이 기능은 element.toggle( )를 이용하였다.  cont같은 경우 tog.nextElementSibling이라 작성하였는데,클릭한 tog의 cont 값을 가져오고 싶어서 이렇게 작성하였다.  Element.classList - Web API..

JavaScript 2022.01.20