제로초님의 "ES2021 자바스크립트"강의와 모던자바스크립트를 바탕으로 공부한것들을 정리한 내용입니다. 자바스크립트가 처리 할 수 있는 데이터들이 특정되어있습니다. 이를 유형별로 묶어 자료형이하는데요. 자바스크립트에는 여덟 가지 기본 자료형이 있습니다. 개떡같이 말해
조건문 - 조건에 따라 코드를 실행 하거나 하지 않거나 if(condition){ 동작문 }
반복문이란? 조건에 맞을 때까지 동작문을 반복하는 일 while 조건식이 true일 경우 반복문의 본문을 반복해서 실행합니다. 조건식에는 비교, 모든 종류의 표현식, 변수가 올 수 있습니다.조건식은 while에 의해 평가되고 조건식에는 변수가 들어갈 때는 변수값이
요소 추가 arr.push(...items) 배열 맨 끝에 items 추가 arr.unshift(...items) 배열 맨 앞에 items 추가 *arr.concat(arg1 ,arg2...) 기존 배열의 요소를 사용해 새로운 배열을 만들거나 기존 배열에 요소를 추가하
함수: 유사한 동작을 하는 코드가 여러곳에 필요할 때 함수를 이용하면 가능해서 중복없이 함수 선언한 코드를 여러번 재사용 할 수 있습니다. 함수선언 스크립트내에서 함수를 선언하는 방법은 3가지가 있습니다 1.함수 선언 function a (매개변수) {함수본문}
객체 이름이 있는 값을 정리정돈 할 때 쓰인다 배열은 대괄호 표기법으로 배열내의 값에 접근 객체의 값을 점표기법 , 대괄호 표기법 delete memberObject.dauther 객체 안의 값 삭제: delete연산자 사용 배열과 객체 배열은 반복문과 함께 쓸
자바스크립트 엔진이 언제 함수를 생성 하는지 함수표현식은 스크립트가 위에서 아래로 실행되다가 함수 표현식을 담은 변수를 만다고 함수 표현식에 도달했을 때 비로소 함수가 만들어집니다. 그러므로 그 후부터 해당 함수를 호출하거나 할당하는 등 해당 함수를 사용할 수 있습니
메서드는 객체에 저장된 다른 값들을 활용하는 경우가 많은데메서드 안의 this는 해당 메서드를 포함한 객체를 가리킴유사한 객체를 여러개 찍어낼 수 있다. 마치 공장에서 물건 찍어낸다고 생각하면 됨📌 생성자 함수함수의 첫 글자는 대문자로 시작📌 new 연산자생성자 함
class 📌 constructor(){} 객체의 초기 상태를 세팅하는 함수 class로 객체를 만들면 constructor는 자동적으로 실행된다. 📌 class에서 메서드 sum(){}같이 function을 생략하고 선언 class 상속 📌 class P
📌proto: 객체를 다른 객체의 자식 객체로 만듦subObj.proto = superObj;subObj의 원형이 무엇인지 링크를 걸어줌📌 fn.call()첫번째 인자: this를 지정나머지 인자: 지정하고 싶은 나머지 인자 지정📌fn.bind()첫번째 인자: t

const newArray = {...oldArray, 1, 2}..old object: old object에서 모든 프로퍼티를 꺼내서 const newObject = {...oldObject, newProp: 5}function srotArgs(...args){ re

Destructuring allows you to easily extract array elements or object properties and store them in variables.구조분해할당은 배열이나 객체의 요소를 뽑아서 그들의 변수에 저장할 수 있도록

배열이나 객체는 복사가 아니라 참조하므로배열이나 객체를 복사하기 위해서는 ...person으로 기존의 객체를 받아서새로운 객체를 만들면 원하는 결과를 얻을 수 있음
컴퓨터는 0과 1로 표현하고 이해할 수 있다. 그런데 우리가 코딩을 할 때 0과 1로 코드를 짜지 않는다. 가령 위와 같은 코드를 컴퓨터가 어떻게 이해할까? js engine JS Engine이 자바스크립트 언어를 이해하고 컴퓨터에게 뭘 실행해야 할 지 알려준다. 많
JS엔진: JS코드를 읽고 실행시키는데 엔진이 해야할 일은 다음과 같다. 변수, 객체등등 app의 데이터를 저장한다. 코드에서 어떤일이 일어나는지 계속 추적한다. 위의 일을 수행하기 위해 JS엔진은 Call stack과 Memory Heap으로 구성되어있다. Mem
자바스크립트는 single threaded 이다. 즉, 하나의 stack과 하나의 heap을 가지고 동작한다. 웹 브라우저는 동기적으로 JS 코드가 실행될 때 별도로 실행이된다. 브라우저는 우리가 사용할 수 있는 API를 제공하고 이를 Web API라고 한다. 이러한
함수가 호출되면 JS엔진은 실행 컨텍스트를 생성한다 JS엔진은 JS파일을 읽기 시작히면 먼저 글로벌 실행 컨텍스트를 만든다. 콜스택에는 실행 컨텍스트가 push된다. 위 코드의 콜스택은 다음과 같다. printName() findName() sayMyName() g
global object and this keyword are equal each other execution phase = run our code global execution context => global object/ this/ hoisting | run ou
Program란? 변수에 값을 넣고 이 변수로 함수를 실행시키는 것 함수표현문 canada함수는 런타임 동안 정의 된다. 함수선언식 india함수는 parsetime에 정의된다.즉 컴파일러가 코드를 처음부터 읽을 때 호이스팅이 시작되고 메모리에 할당한다 함수가 호출
this? this is the object that the function is a property of = we have object and this object has some function and inside of this function when we do
to manipulate this keyword call() they actually are because underneath the hook, all functions use call when invoking a function all functions whe cre
자바스크립트 타입 Primitive : data that only represents a single value a variable of a primitive type directly contains the value of that type number boolean
변수 a에 5를 할당하면 5의 값이 그대로 저장 when i assign variable A to 5 somewhere in memory, variable A is going to contain and reference the value five if i do vari
function in js are also objects when we invoke a function, we get two parameters automatically this keyword arguments 객체 : arguments as an array like
higher order functions are simply a functions that can take a function as an argument a functions that returns another function 위 코드는 복붙코드 => it is n
자바스크립트 함수는 일급 객체이다. (함수를 변수에 할당할 수 있고 다른 함수에 인수로 전달하거나 함수의 반환값이 함수가 될 수 있다.) lexical scope : JS 엔진은 함수를 실행하기 전에 코드가 어디서 쓰였는지(선언되었는지) 파악해서 함수가 어떤 변수에 접
자바스크립트: 프로토타입 기반 언어 자바스크립트는 프로토타입 기반 언어이다. 모든 객체들이 메소드와 프로퍼티를 상속받을 수 있는 프로토타입 객체를 가진다. 프로토타입 객체도 상위 프로토타입 객체로부터 메소드와 속성을 상속 받을 수 있고 그 상위 프로토타입 객체도 마찬가
we want to have mutiple elves => different name, different weapons.. step1: factory functions functions that act like factories, they create objects
passing knowledge down Elf 클래스에서 확장하는 오거 클래스를 만들고 싶음 ogre no longer has Fiona as the base class fiona와 ogre는 메모리상 다른 주소에 데이터가 저장되있는 것을 참조하고 prototype
Memorization & Cache 캐싱(caching) 나중에 재사용하기 위해 데이터를 저장해 놓는 것이다. 캐싱하여 불필요한 연산을 줄여 프로그램의 속도를 높일 수 있다. 메모리제이션(memorization) 캐싱의 형식중 하나이다. 에제 cache 객체에 연산값
Promise promise is an object that may produce a single value sometime in the future either resolved value or a reason that it's not resolved or reject