본문 바로가기
반응형

programming language/Javascript10

callback, promise, async/await callback 콜백함수는 다른 코드의 인자로 넘겨주는 함수이다. js에서는 나중에 실행하는 함수이기에 콜백함수라고 불린다. 1) 다른 함수의 인자로 넘길 수 있고 2) 리턴 값으로 함수를 쓸 수 있고 3) 변수에 함수를 넣을 수도 있다. 그래서 js에서는 함수를 일급객체라고 한다. 콜백을 받는 함수가 어떻게 동작하느냐에 따라서 동기적, 비동기적일 수 도 있다. 콜백은 나중에 실행하라고 인자를 다른 함수에게 넘겨주고 제어권도 함께 위임한다. 그래서 콜백을 받은 함수는 역할에 따라 받은 콜백을 실행한다. 콜백을 큐에 넣는지 바로 콜 스택에서 실행하는 역할인지에 따라 동기인지 비동기인지 구별이 된다. [콜백은 '함수'이다.] 콜백함수는 함수이기 때문에 콜백함수로 어떤 객체의 메서드를 전달하더라도 그 메서드는.. 2022. 11. 3.
변수에 대하여 ⤴️ 호이스팅 [var] 한번 선언된 변수를 다시 선언할 수 있다. var는 선언하기 전에 사용할 수 있다. var name console.log(name) //undefined name ="Mike" //할당 var로 선언한 모든 변수는 최상위로 끌어올리는 것처럼 동작한다. (호이스팅 현상이 발생함) 하지만 할당된 값은 호이스팅이 되지 않았다. [let] console.log(name) //ReferenceError let name ="Mike" //할당 같은 상황에서 let은 error가 발생한다. 그렇다면 let은 호이스팅이 되지 않나? 그렇지 않다. let도 호이스팅이 발생한다. (호이스팅: 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동) 그렇다면 왜 var처럼 동작하지 않고 e.. 2022. 10. 13.
얕은복사 깊은복사 개념 코딩을 하다보면 얕/깊은 복사 개념을 모르면 중간중간 멈추게 된다. 어렴풋이 살짝만 알고 있던 상태에서 그순간만 이해하려고 대충 넘겼는데 데이터 타입정리하다보니 얕 깊복사 확실히 알아두자 맘을 먹게됐다. 어짜피 해야하면서 ㅋㅋㅋ 왜이리도 어슬렁 하는거니 ㅠㅠㅠㅠ 앞에 데이터타입에 대한 개념을 정리한것을 토대로 얕은 복사는 객체의 참조 값(주소 값) 을 복사, 깊은 복사는 객체의 '실제 값'을 새로운 메모리 공간에 복사한다. 🍓[ 얕은 복사 (shallow Copy) ] 흔히 알고 있듯, 객체에 담겨있는 변수를 다른 변수에 할당하면 call by reference (데이터 복사가 아닌 참조 형태)가 일어나게 되며, 한 변수를 변경하면 다른 변수의 데이터도 변경이 된다. 🔷 [참조형 데이터] 기본형 데이터의.. 2022. 9. 2.
Symbol ES6에서 도입된 7번째 원시형 데이터 타입이다. 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 주로 이름의 다른 값들과 충돌을 피하고 싶을 때 유일한 프로퍼티 키를 만들기 위해서 사용한다. const someSymbol = Symbol() const someSymbol1 = Symbol(`some symbol`) 🔷 심벌 값의 생성 const mySymbol = Symbol() console.log(typeof mySymbol); //symbol console.log(mySymbol) //Symbol() new Symbol() //TypeError: Symbol is not a constructor const mySymbo2 = Symbol('she') const mySymbo3 = Symbo.. 2022. 9. 1.
728x90
반응형