Rest Operator 함수의 인자, 배열 객체 중 나머지 값을 묶어 사용하도록 한다. 함수의 인자 중 나머지를 가리킨다. 배열의 나머지 인자를 가리킨다. 객체의 나머지 필드를 가리킨다. 함수 function findMin(...rest){ return rest.reduce((a,b) => a rest에는 숫자들이 배열로 담긴다. 02. reduce 함수로 min 값을 리턴한다. 객체 const o = { name : "Daniel", age : 23, address : "Street", job : "Software Engineer", }; const {age, name, ...rest} = o; findSamePerson(age, name); 08. 객체의 rest operator는 지정된 필드 외의..
Web/JavaScript
자바스크립트 Closure 일급 객체란? 다른 변수처럼 대상을 다룰 수 있는 것을 말한다. 자바 스크립트에서 함수는 일급 객체이다. 즉, 자바스크립트에서 함수는 변수처럼 다루는 것이 가능하다. -> var f = function ( ){ } -> function(전역으로 존재하는 객체 -> 함수는 전역 객체를 상속받은 인스턴스가 된다) function add(a, b){ return a+ b } [1, 2, 3].reduce(add, 0) (() => { console.log("익명 함수를 생성한다.") })() function outer(a){ function inner(b){ return a+ b } return inner(10) } const Person = (name) => { const prin..
화살표 함수 VS 일반 함수 화살표 함수의 this는 호출된 함수를 둘러싼 실행 컨텍스트를 가리킨다. -> 함수가 호출될 때의 환경(화살표 함수가 선언 될 떄)의 this 값을 유지한다. 일반 함수의 this는 새롭게 생성된 실행 컨텍스트를 가리킨다. -> 새롭게 생긴 실행 콘텍스트를 가리킨다. 예시) const o = { method() { console.log("context : ", this) let f1 = function(){ console.log("[fi] this : ", this) } let f2 = () => console.log("[f2] this : ", this) f1() f2() }, } o.method() 03. method 함수 안에서의 this는 객체(o)를 가리킨다. 04 ..
함수가 호출되는 상황 함수가 호출되는 상황은 4가지가 존재한다. 함수 호출 : 함수를 직접 호출한다. [myFunc()] 메서드 호출 : 객체의 메서드를 호출한다. [o.method] 생성자 호출 : 생성자 함수를 호출한다. [ function Person(){this.name = 'abc' } const p = new Person()] 간접 호출 : call, apply(function 객체의 메서드)등으로 함수를 간접 호출한다. [f.call(null,(a))] 함수 호출 function myFunc(){ console.log('myFunc called') } myFunc() 메서드 호출 const o = { name : 'Daniel', printName : function(){ console.lo..
실행컨텍스트란? 실행 컨텍스트 혹은 실행 맥락은 자바스크립트 코드가 실행되는 환경이다. 코드에서 참조하는 변수, 객체(함수), this 등에 대한 레퍼런스가 있다. 실행 컨텍스트는 전역에서 시작해 함수가 호출될 때 스택에 쌓이게 된다. 실행 컨텍스트 스택 let a = 10 function f1(){ let b = 20 function print(v){console.log(v)} function f2(){ let c = 30 print(a + b+ c) } f2() } f1() global 실행컨텍스트가 생성된다. 그 안에는 변수 a, 함수 f1, console(window 객체 밑에 있지만 전역에서 참조할 수 있는 변수이기 때문에 편의상 들어간다고 표현한다)이 들어가게 된다. f1을 호출했을 때 f1-..