스터디/모던자바스크립트딥다이브(14)
-
[모던자바스크립트 딥다이브] 13장 스코프
스코프란 scope, 유효범위 식별자(변수 이름, 함수 이름, 클래스 이름 등)가 유효한 범위 식별자 결정 (Identifier resolution) - 자바스크립트 엔진이 코드문맥에 따라 스코프를 참고하여 식별자의 범위를 파악하는 것 스코프란 개념이 없다면? → 식별자 이름은 전체 프로그램에서 유일무이하게 하나만 사용해야 한다. OS 에서 파일명 → 식별자 / 디렉토리명 → 스코프 (동일한 이름의 test.txt 파일을 생성할 때 myDocs/test.txt 파일과 Desktop/test.txt 파일은 이름은 같지만 다른 파일이다.) 스코프의 종류 1. 전역 스코프 전역(global) - 코드의 가장 바깥 영역 전역은 전역 스코프를 만든다. 전역 스코프는 어디서든 유효하며, 참조 가능하다. 2. 지역 ..
2023.07.31 -
[모던자바스크립트 딥다이브] 12장 함수
함수란 수학의 함수 : 입력을 받아 출력을 내보내는 일련의 과정 프로그래밍 언어의 함수 : 일련의 과정을 문으로 구분하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것 매개변수 : 입력을 전달 받는 변수 (parameter) 입력 : 인수 (argument) 출력 : 반환값 (return value) 함수 정의에 의해 생성 함수 호출에 의해 실행되고 결과를 반환함 함수를 사용하는 이유 코드의 재사용 유지보수 유리 코드의 신뢰성 향상 함수 식별자명을 잘 지어야 한다 → 코드의 가독성 향상 함수 리터럴 function 키워드 + 함수이름 + 매개변수 목록 + 함수 몸체 함수이름 생략 가능, 기명함수, 익명함수 매개변수 목록 0개 이상 순서대로 할당 함수 몸체 일괄적으로 실행될 문들을 하나의 실행 단위로..
2023.07.28 -
[모던자바스크립트 딥다이브] 11장 객체 리터럴
원시 값 변경 불가능한 값 재할당 할 경우 메모리의 값이 변경되는것이 아니라 새로운 메모리 공간을 확보하고 해당 변수의 주소 값을 변경하게 됨 (불변성) 실제 값 저장 값 전달 : 값이 복사되어 전달 (값에 의한 전달) 객체 변경 가능한 값 참조 값 저장 값 전달 : 참조값이 복사되어 전달 (참조에 의한 전달) 얕은 복사와 깊은 복사
2023.07.25 -
[모던자바스크립트 딥다이브] 10장 객체 리터럴
객체란 자바스크립트 : 객체 기반 프로그래밍 언어 원시값 6개 (숫자, 문자열, 불리언, null, undefined, symbol) 변경 불가능 객체 원시값을 제외한 나머지 모두 다양한 타입을 하나의 단위로 구성한 자료구조 변경 가능 0개 이상의 프로퍼티나 메서드의 집합 프로퍼티 : 키, 값으로 구성됨. 객체의 상태를 나타내는 값 num 메서드 프로퍼티를 참조, 조작하는 동작 increase var counter = { num : 0, increase : function () { this.num++; } } 객체 리터럴에 의한 객체 생성 인스턴스 : 클래스에 의해 생성되어 메모리에 저장된 실체 클래스 : 클래스와 인스턴스를 포함, 틀이며 생성자이자 실체 객체 생성 방법 객체 리터럴 : 중괄호, {…} ..
2023.07.25 -
[모던자바스크립트 딥다이브] 09장 타입 변환과 단축 평가
타입 변환 자바스크립트 모든 값은 타입이 존재한다. 명시적 타입 변환 : 개발자의 의도에 따라 다른 타입으로 값을 변환하는 것 (= 타입캐스팅) 암묵적 타입 변환 : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환 되는 것 (= 타입 강제 변환) 기존 원시 값을 직접 변경하는 것이 아니라 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것 암묵적 타입 변환 자바스크립트 엔진은 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환할 때가 있다. 문자열 타입으로 변환 문자열 연결 연산자 '+' 템퍼릿 리터럴 숫자 타입으로 변환 산술 연산자비교 연산자 빈문자열, 빈배열, null, false는 0으로, true는 1로 변환된다. 불리언 타입으로 변환 조건식 : 제어문 또는 삼항조건연산자..
2023.07.25 -
[모던자바스크립트 딥다이브] 06장 데이터 타입
데이터 타입 데이터 타입 = 타입 = 값의 종류 ES6부터 7개의 데이터 타입을 제공 원시타입 숫자 문자열 불리언 undefined null symbol 객체타입 숫자타입 자바스크립트는 하나의 숫자 타입만 존재한다. ( 다른 언어들은 int, integer, long ... 많음) 모든 수는 실수 64비트 부동소수점 형식 양의 무한대/음의 무한대/Not a Number = NaN NaN ≠ Nan ≠ nan, ****Only NaN means 'Not a Number' 문자열타입 '' 작은 따옴표 "" 큰 따옴표 ``백틱멀티라인, 공백 자바스크립트의 문자열은 원시 타입이며, 변경 불가능한 값이다. 이것은 문자열이 생성되면 그 문자열을 변경할 수 없다는 것을 의미한다. 불리언타입 true, false un..
2023.07.25