👨‍💻 My_Archive

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_원시 값과 객체의 비교

11_원시 값과 객체의 비교 자바스크립트에서 제공하는 데이터 타입은 크게 원시 타입(premitive type) 과 객체 타입(obejct/reperence type) 으로 구분 하는데, 둘 사이는 차이점이 존재한다. 원시 타입 값은 변경 불가능 한 값 이고, 객체(참조) 타입 값은 변경 가능한 값 이다. 원시 타입 값을 변수에 할당하면 변수(확보된 메모리 공간) 에는 실제 값이 저장 객체(참조) 타입 값은 변수(확보된 메모리 공간)에는 참조 값이 저장 원시 타입 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달 객체 타입 값을 갖는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달 11.1 원시 타입 값 11.1.1 변경 불가능한 값 원시 타입은변경 불가능한 값으로 읽기..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_객체 리터럴

10_객체 리터럴 10.1 객체 ? 객체는 객체의 상태를 나타내는 값(프로퍼티) 과 그 값을 참조하고 조작 할 수 있는 동작(메서드) 을 모두 가지고 있는 것 상태(데이터) 와 동작(메서드) 을 하나의 단위로 구조와 할 수 있어 유용하다. 자바스크립트는 객체(object) 기반의 프로그래밍 언어 이며, 자바스크립트를 구성하는 것은 대부분 객체이다. 원시 값을 제외한 나머지 값(함수, 배열, 표현식 등)은 모두 객체 원시 타입은 단 하나의 값만 나타내지만, 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 원시 타입의 값은 변경 불가능한 값이지만, 객체는 변경 가능한 값이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key) 와 값(value) 으로 구성된다...

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_타입변환

09_타입 변환과 단축 평가 9.1 타입 변환 ? 자바스크립트의 모든 값은 타입을 가지는데, 개발자의 의도에 따라 값의 타입을 변환하는 것을 -> 명시적 타입 변환 또는 타입 캐스팅 이라고 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으롤 타입이 자동 변환되는 것을 -> 암묵적 타입 변환 또는 타입 강제 변환 이라고 한다. 자바스크립트는 가급적 에러를 발생시키지 않도록 암묵적으로 타입 변환을 통해 표현식을 평가 그렇다고 명시적 타입 변환이나 암묵적 타입 변환이나 기존 원시값을 직접 변경하는 것은 아니다. -> 원시 값은 변경 불가능한 값 이다. 즉, 타입변환이란 기존 원시 값을 사용해 다른 타입의 새로운 값을 생성 하는 것 9.2 암묵적 타입 변환 자바스크립트..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_제어문

08_제어문 제어문은 조건에 따라 코드 블록을 실행 하거나(조건문) 반복 실행(반복문) 할 때 사용 코드는 위에서 아래로 순차적으로 실행하는데, 제어문을 사용하면 코드 실행 흐름을 인위적으로 제어할 수 있다. 하지만 직관적인 코드의 흐름을 혼란스럽게 만들어서 코드의 가독성을 해치는 단점이 있다. forEach, map, filter, reduce 같은 함수형 프로그래밍 기법에서는 제어문의 사용을 억제하여 복잡성을 해결하고자 노력한다. 8.1 블록문 0개 이상의 문을 중괄호 {} 로 묶은 것으로 코드 블록 이라고 부르기도 한다. 자바스크립트에서는 블록문을 하나의 실행단위 로 취급한다. // 블록문 { var foo = 10; } // 제어문 var x = 1; if (x < 10) { x++; } // 함..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_연산자

07_연산자 연산자(Operator)는 하나 이상의 표현식을 대상으로 값으로 평가될 수 있는 표현식이어야 한다. 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해서 하나의 값을 만든다. // 산술 연산자 5 * 4 // ➔ 20 // 문자열 연결 연산자 'My name is ' + 'apil' // ➔ My name is apil // 할당 연산자 color = 'blue' // ➔ blue // 비교 연산자 3 > 5 // ➔ false // 논리 연산자 true && false // ➔ false // 타입 연산자 typeof 'Hi' // ➔ string 피연산자는 값이라는 명사의 역할을 하고 연산자는 피연산자를 연산하여 새로운 값을 만든다 라는 동사 역할을 한다. 7.1 산술 연산자 산술..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_데이터 타입

06_데이터 타입 데이터 타입(data type, 줄여서 타입) 은 값의 종류를 말한다. 자바스크립트의 모든 값은 타입을 갖는다. ES6에서 제공하는 데이터 타입은 7개다. 구분 데이터 타입 설명 원시타입 number 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 boolean 논리적 참(true) 과 거짓(false) undefined var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 symbol ES6에 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 숫자 타입의 값 1 과 문자열 타입의 값 '1' 은 전혀 다른 값이다. 생성한 목적과 용도가 다르다 숫자는 주로 산술 연산을 위해 생성 문자열은 주로 텍스트를 화면에 출력하기..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_표현식과 문

05_표현식과 문 5.1 값(value) 값(value)은 식(표현식 expression)이 평가(evaluate)되어 생성된 결과를 말한다. // 10 + 20 은 평가되어 숫자 30을 생성한다. 10 + 20; // 30 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트(bit)의 나열로 저장된다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. ex) 메모리에 저장된 값 0100 0001을 숫자로 해석하면 65지만, 문자로 해석하면 A다. 변수 ? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 or 그 메모리 공간을 식별하기 위해 붙인 이름 -> 변수에 할당되는 것은 값이다. 5.2 리터럴(literal) 리터럴(literal)은 사람이 이해할 수 있는 문자 또는 ..

📚 Book-Talk/모던 JS Deep Dive

모던 자바스크립트 Deep Dive_변수

04_변수 4.1 변수란 무엇인가? 왜 필요한가? 변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다. 프로그래밍 언어는 기억하고 싶은 값을 메모리에 저장하고, 저장된 값을 읽어 들여 재사용하기 위해 변수라는 메커니즘을 제공한다. 즉, 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 값의 위치를 가리키는 상징적인 이름이다. 프로그래밍 언어의 컴파일러 또는 인터프리터에 의해 값이 저장된 메모리 공간의 주소로 치환되어 실행된다. 변수에 값을 저장하는 것을 할당(assignment)이라고 하고, 변수에 저장된 값을 읽어 들이는 것을 참조(reference)라고 한다. 추가 ) 컴퓨터가 데이터를 기억하는 방법 사람은 계산과 기억을..

HoHo.dev
'분류 전체보기' 카테고리의 글 목록 (9 Page)