01 JavaScript JavaScript는 웹 개발에서 가장 널리 사용되는 프로그래밍 언어이다. 기본적으로 웹 브라우저에서 동작하며 HTML과 CSS와 함께 사용하여 동적인 웹 페이지를 만들기 위해 사용된다. 2015년에 공개된 ES6(ECMAScript ES6)
01 Variable 변수 변수(Variable) : 값의 위치를 가리키는 상징적인 이름 ( 하나의 값을 저장하기 위해 할당된 메모리 공간, 그 공간을 식별하기 위한 이름 ) 변수 이름(변수명) : 저장된 값을 식별 할 수 있는 이름 변수 값 : 변수에 저장 된 값
원시타입 : 숫자타입(number), 문자열(string), 불리언(boolean), undefi
함수는 하나의 특정한 작업을 수행하도록 설계된 독립적인 코드 블록이다. 함수는 정의를 통해 생성한다. 함수는 항상 내부에서 return 값을 반환하는데, return 값을 지정해주지 않을 경우, 출력값으로 undefined가 반환된다.함수는 정의 후 호출을 통해 실행하
if문(조건문) > if문은 '만일 ~ 라면 ~한다.' 로 생각하면 된다. 소괄호() 안에 해당 여부를 체크할 조건을 작성한 뒤 중괄호 {}안(이하 코드블록)에 위의 조건에 충족했을 때 실행될 내용을 작성해준다. 즉 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결
`Class`는 객체 지향 프로그래밍의 핵심 개념이다. 프로그램을 객체들로 구성하고, 객체들 간에 서로 상호작용하도록 프로그래밍 하는 방법이다. 원하는 구조의 객체 생성 틀을 짜놓고, 이 틀을 통해 비슷한 모양의 객체를 찍어낸다. >``` class Car { c
반복문은 조건식을 걸어 조건이 참일 경우 코드 블럭을 실행한다. 그 후 조건식을 다시 확인하여 참일 경우 코드 블럭을 다시 실행하고, 거짓일 경우 반복을 종료한다. ✅ for문 for문은 조건식이 거짓으로 평가될 때 까지 코드 블럭을 반복한다. >for(변수 선언 ;
1. 값 (value) 식 ( 표현식expression ) 이 평가되어 생성된 결과 모든 값은 데이터 타입 ( number, string, boolean, undefined, null, symbol, object )을 가지며 메모리에 2진수, 즉 비트(bit)의 나열로
🌱 연산자 : 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만듬 피연산자 : 연산의 대상 (operand ), 값으로 평가될 수 있는 표현식 피연산자 = 값 / 연산자 = 동사 ( 피연산자를 연산하여 새로운 값
자바스크립트는 객체(object) 기반의 프로그래밍 언어로, 원시타입 값을 제외한 함수, 배열 등 모두 객체이다. 원시 타입의 값은 변경이 불가능한 값이고, 객체 타입의 값은 변경이 가능하다. 01 Array > const myArr = [ cat, dog, rabb
✅ 원시 타입의 값 ( primitive type )변경 불가능한 값( immutable value)변수에 할당하면 변수( 확보된 메모리 공간 )에는 실제 값이 저장값에 의한 전달( pass by value ): 원시 값이 복사되어 전달원시 타입의 값, 즉 원시 값은
✨ 콜백 함수( callback function )함수의 매개 변수로 함수 객체를 전달해 다른 함수의 내부에서 매개변수 함수를 실행하는 것Cf. 고차 함수: 매개 변수를 통해 함수의 외부에서 콜백 함수를 전달받은 함수콜백 함수는 매개 변수로 '함수 객체'를 전달해 다른
❓Promise > 비동기 작업의 최종 완료 또는 실패를 나타내는 Array나 Object 같은 독자적인 객체 비동기 작업이 끝날 때 까지 결과를 기다리는 것이 아니라, 결과를 제공하겠다는 '약속'을 반환한다는 의미에서 'Promise'라는 이름이 붙여졌다. 프로미스
📌 Scope: 식별자가 유효한 범위( =네임스페이스 ) 모든 식별자는 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정됨 식별자를 검색할 때 사용하는 규칙이다 ! 스코프( 유효 범위 )를 통해 식별자인 변수 이름의 충돌을 방지하여 같
자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티( pseudo property )와 의사 메서드( psuedo method )를 내부 슬롯, 내부 메서드라고 한다. 이 들은 자바스크립트의 '내부 엔진' 이므로 직접적
🎈 생성자 함수( constructor ): new 연산자와 함께 호출하여 객체( 인스턴스 )를 생성하는 함수 인스턴스( instance ): 생성자 함수에 의해 생성된 객체 ✔️ 객체 생성 1. 객체 리터럴 객체 리터럴로 객체를 생성하는 방식은 직관적이고 편하지
🎈일급 객체무명의 리터럴로 생성 가능: 런타임에 생성 가능변수나 자료구조( 객체, 배열 등 )에 저장 가능함수의 매개변수에 전달 가능함수의 반환값으로 사용 가능함수는 위의 일급 객체의 조건을 모두 만족하므로 일급 객체에 해당한다.일급 객체로서 함수의 특징으로는 일반
🎈strict mode ?자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시킨다 ! ESLint 같은 린트 도구를 사용해도 strict mode
📍 자기 참조 변수( self-referencing variable )자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 특수한 식별자자신이 속한 객체 또는 자신이 생성할 인스턴스의 '프로퍼티나 메서드 참조 가능'함수 호출 시 arguments 객체와 this가
✨ Object properties ✔️ in 연산자 객체 내에 특정 프로퍼티가 존재하는지 여부 확인 ✔️ Object.hasOwnProperty() 객체에 특정 프로퍼티가 존재하는지 확인 ✔️ for … in for ( 변수선언문 in 객체 ){ ... }
✨ Number ❓ methods > #### 📮 Number 메서드는 인수를 숫자로 암묵적 타입 변환하지 않는다. ✔️ Number.isFinite() 인수로 전달된 숫자값이 정상적인 유한수, 즉 Infinity / -Infinity 인지 검사하여 그 결과를
대상 문자열에서 인수로 전달받은 문자열을 검색하여 첫 번째 인덱스 반환, 없을 경우 -1 반환대상 문자열에 인수로 전달받은 문자열이 포함되어 있는지 확인하여 불리언 값 반환대상 문자열이 인수로 전달받은 문자열로 시작하는지 확인하여 불리언 값 반환대상 문자열이 인수로 전
위와 같은 특징을 활용하여 중복 값을 없애거나 교집합, 합집합, 차집합, 여집합 등을 구현할 때 유용하게 쓰임set 생성자 함수로 Set 객체 생성set 객체의 요소 개수를 확인set 객체에 요소를 추가set 객체에 특정 요소가 있는지 확인하여 불리언 값 반환set 객
📌 실행 컨텍스트( execution context ) 자바스크립트의 동작 원리를 담고 있는 핵심 개념 ! 스코프 기반 식별자와 식별자 바인딩 관리 방식, 호이스팅 발생 이유, 클로저의 동작 방식, 태스크 큐와 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식 이해
📍 closure주변 상태( 어휘적 환경 )에 대한 참조와 함께 묶인( 포함된 ) 함수의 조합함수가 자신의 정의된 스코프( 범위 ) 밖에서도 스코프 내의 변수들을 기억하고 접근 가능함수와 그 함수가 선언될 때의 렉시컬 환경의 조합함수가 선언된 스코프 외부에서도 그 스
📖 DOM( Document Object Model ) > 🐋 DOM: 구조화된 문서( XML, HTML )를 객체 형태로 표현하는 방식 ❓DOM TREE > 🐋 DOM: 자바스크립트 엔진이 HTML 코드를 해석한 결과로 각각의 태그가 자바스크립트의 node 객체로 변환 node: HTML DOM에서 정보를 저장하는 계층적 단위 node tre...