목록JAVASCRIPT (10)
온풀투데이
- 연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.- 이때 연산의 대상을 피연산자라 한다.- 피연산자는 값으로 평가될 수 있는 표현식이어야 한다. 7.1 산술 연산자- 산술 연산자는 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. - 산술 연산이 불가능한 경우, NaN을 반환한다.- 산술 연산자는 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분할 수 있다.7.1.1 이항 산술 연산자- 이항 산술 연산자는 2개의 피연산자를 산술 연산하여 숫자 값을 만든다.- 모든 이항 산술 연산자는 피연산자의 값을 변경하는 부수 효과(side effect)가 없다. 다시 말해, 어떤 산술 연산을 해도 피연산자의..

- 데이터 타입은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. - 자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시 타입과 객체 타입으로 분류할 수 있다. 구분 데이터 타입 설명 원시타입 숫자(number) 타입 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열(string) 타입 문자열 불리언(boolean) 타입 논리적 참(true)와 거짓(false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌(symbol) 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 6.1 숫자 타입 - C나 자바의 경우, 정수(소수..
- 개념을 이해한다는 것은 바로 용어를 정확히 이해하고 설명할 수 있다는 것이다. 5.1 값 - 값은 식이 평가되어 생성된 결과를 말한다. - 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 5.2 리터럴 - 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. - 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다. 즉, 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라고 할 수 있다. 5.3 표현식 - 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. - 값으로 평가될 수 있는 문은 모두 표현식이다. // 리터럴 표현식 10 'Hello..

4.1 변수란 무엇인가? 왜 필요한가? - 사람은 계산과 기억을 모두 두뇌에서 하지만, 컴퓨터는 연산과 기억을 수행하는 부품이 나눠져 있다. - 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. - 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체다. 메모리 셀 하나의 크기는 1바이트(8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽어 들인다. - 각 셀은 고유의 메모리 주소를 갖는다. 이 메모리 주소는 메모리 공간의 위치를 나타내며, 0부터 시작해서 메모리의 크기만큼 정수로 표현된다. - 컴퓨터는 모든 데이터를 2진수로 처리한다. 따라서 메모리에 저장되는 데이터는 데이터의 종류(숫자, 텍스트, 이미지, 동영상 등)와 상관없이 모두 2진수로 저..
3.1 자바스크립트 실행 환경 - 모든 브라우저는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다. - 브라우저뿐만 아니라 Node.js도 자바스크립트 엔진을 내장하고 있다. - 한 가지 주의해야 할 점은 브라우저와 Node.js는 용도가 다르다는 것이다. - 브라우저는 HTML, CSS, 자바스크립트를 실행해 웹페이지를 브라우저 화면에 렌더링 하는 것이 주된 목적이지만 Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주된 목적이다. 따라서 브라우저와 Node.js 모두 자바스크립트의 코어인 ECMAScript를 실행할 수 있지만 브라우저와 Node.js에서 ECMAScript 이외에 추가로 제공하는 기능은 호환되지 않는다. 3.2 웹 브라우저 - 정리 ..

2.1 자바스크립트의 탄생 첫 탄생은 1995년 넷스케이프에서 근무하던 브랜든 아이크가10일 만에 설계한 것으로부터 시작한다. 처음에는 Mocha라는 이름이었지만 4달 만에 LiveScript라는 이름으로 개명하고 다시 3달 후에는 JavaScript라는 이름이 되어 오늘날까지 이어지고 있다. 'Java와 구문이 유사해서 이름을 JavaScript로 명명했다'는 표면상의 이유를 대지만 그 속은 Java의 유명세를 타서 묻어가려고 의도적으로 그렇게 작명한 것이다. 물론 무단으로 도용한 것은 아니고, 썬 마이크로시스템즈(지금은 오라클에 인수됨)에게 상표권 사용 허락을 받았다. 오라클이 인수하면서 상표권도 오라클로 넘어갔는데, 소송으로 악명 높은 오라클이 JavaScript는 딱히 손대지 않고 있다. 애초에 ..

- 프로그래밍이란 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물이 바로 코드다. - 명령을 수행할 주체는 컴퓨터, 따라서 사람이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계어로 명령을 전달해야 한다. - 기계어로 직접 명령을 전달하는 것을 대신할 가장 유용한 대안은 사람이 이해할 수 있는 약속된 구문으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기를 이용하는 것이다. - 이 일종의 번역기를 컴파일러 혹은 인터프린터라고 한다. - 결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하..

okky를 통해 무료로 F-Lab 커리어 상담을 받은 후, 사용하는 언어를 다룬 두꺼운 책을 꼭 읽어야 한다는 걸 알게 됐다. 생각해 보니 내가 가장 많이 사용하는 자바스크립트에 대해 상세히 공부한 적이 없더라. 검색해 보니, '모던 자바스크립트 Deep Dive'가 가장 유명한 책인 것 같았고, 왠지 익숙한 느낌이 들어 e-book으로 구매했다. 아이패드가 있어 출퇴근 길이나 평소에는 아이패드의 교보문고 e-book 어플로, 회사에서는 웹 뷰어로 읽게 될 것 같다. 그냥 가볍게 읽으려고 했는데 눈으로만 읽으니 정리가 되지 않아서 묵혀두었던 티스토리 블로그에 조금이라도 정리를 해 보려 한다. 무엇이든 기록하면 좋으니까.
자바스크립트 객체 1. 내장 객체, 사용자 정의 객체 ※ 내장 객체는 생성자 함수가 미리 정의되어(작성되어) 있으며, 사용자 정의 객체는 사용자가 이 생성자 함수를 정의하는 것이다. 2. 사용자 정의 객체 1.객체와 연관된 데이터는 객체가 생성될 때 초기화 되어야 한다 → 생성자라고 부르는 특별한 함수가 객체를 활성화 시키는 데 필요하다. 2.생성자로 객체를 생성하기 위해서는 자바와 마찬가지로 『new』 연산자를 활용하게 된다. 3.생성자(객체)의 이름은 첫 글자를 대문자로 표기한다. 4.생성자 내부에 속성, 함수를 생성하기(정의하기) 위해 『this』 키워드를 사용한다. 5.객체의 멤버인 속성과 함수는 『.(dot)』 연산자로 접근한다. 6.사용자 정의 객체를 만드는 기본 형식 및 구조 (생성자를 구성..