본문 바로가기

부트캠프교육중301

[JavaScript] scope문제풀이 function () { let age = 27; let name = 'jin'; let height = 179; function outerFn() { let age = 24; name = 'jimin'; let height = 178; function innerFn() { age = 26; let name = 'suga'; return height;} innerFn(); expect(age).to.equal(??); expect(name).to.equal(??); return innerFn; } const innerFn = outerFn(); expect(age).to.equal(??); expect(name).to.equal(??); expect(innerFn()).to.equal(??); }); }.. 2023. 1. 4.
[JavaScript] 스코프 문제 let x = 10; function outer () { let x = 20; function inner () { x = x + 10; return x; } inner(); } outer(); let result = x; // result 값은 얼마인가?? 1. 스코프를 그리면 저렇게 된다. 2. 답은 10이다. 3. 풀이 outer함수를 실행하면 outer함수 스코프 내에서 inner 함수가 호출된다. inner에 의해 값이 변경되는 x는 outer스코프에 속한 x입니다. inner가 실행되면서 outer함수 스코프의 변수 x값이 30으로 바뀐다. 하지만 변수 result에 할당된 값은 전역 스코프의 x이므로, outer함수가 호출되어도 아무런 영향을 받지 않는다. let x = 10; function.. 2023. 1. 3.
[JavaScript] ES6주요문법 #Spread문법 -주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을때 사용한다. function sum(x, y, z) { return x + y + z; } const numbers = [1, 2, 3]; sum(...numbers) // 어떤값을 리턴할까? // 6 #rest문법 -파라미터를 배열의 형태로 받아서 사용할수있다. 파라미터 개수가 가변적일때 유용하다. function sum(...theArgs) { return theArgs.reduce((previous, current) => { return previous + current; }); } sum(1,2,3) // 질문: 어떤 값을 리턴하나요? // 6 sum(1,2,3,4) // 질문: 어떤 값을 리턴하나요? /.. 2023. 1. 3.
[JavaScript] 클로저 "함수와 함수가 선언된 어휘적(lexical)환경의 조합을 말한다. 이 환경은 클로저가 생성된 시점의 유효범위 내에 있는 모든 지역변수로 구성된다." 클로저함수: 외부함수의 변수에 접근할수 있는 내부함수 ★★★★★ 클로저함수: 외부함수의 컨텍스트에 접근할수 있는 내부함수 함수내에서 다른함수(내부함수)가 리턴이 되면 이 함수를 클로저함수라고 부르고 외부함수에 있는 변수에 접근 가능하구나!!! let add = function(x) { let sum = function(y) { return x+y; } return sum; } add: 클로저함수 sum: 그 주변 뭔가 클로저: 주변에 있는 문자까지 기억한다는 의미로 생각하면 된다 1. 함수를 리턴하는 함수이다. 함수를리턴하는함수 그림 추가!!! 어휘적환경:.. 2023. 1. 2.