본문 바로가기
반응형

JavaScript 기초23

[JavaScript] 클로저 (Closure) 오늘은 클로저 (Clsure)에 대해서 공부했다. 클로저는 외부 함수의 변수에 접근이 가능한 내부 함수로 함수 안에 함수가 있는 형태이다. 외부 함수에서 내부 함수를 리턴 시켜줄 수 있기 때문에 내부 함수로 값이 저장이 가능하다. 또한 접근 범위를 지정해 줄 수 있어서 private 지정자처럼 사용이 가능하다. (객체 지향 프로그래밍의 특징 중 하나인 은닉성과 연관 지을 수 있다.) 함수의 외부에서는 내부로 접근이 불가능하지만 내부에서는 외부에 선언된 변수를 참조할 수 있기 때문에 유용하게 사용이 가능하다. 또한 클로저는 마치 객체처럼 사용이 가능하다. function myUser(name, age){ return function addUser() { console.log(`이름은 ${name} 이고, .. 2020. 9. 15.
[JavaScript] arguments 객체 오늘은 argments 객체에 대해서 알아보았다. MDN에서는 arguments에 대해서 이렇게 설명했다. arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체이다. arguments 객체는 모든 함수 내에서 이용 가능한 지역 변수이며 arguments 객체를 사용하여 함수 내에서 모든 인수를 참조할 수 있다. 호출할 때 제공한 인수 각각에 대한 항목을 갖고 있다. 말그대로 함수에 인수로 들어온 값이 여러개일때 arguments[0], arguments[1] , ... 이렇게 접근이 가능하다는 말인것 같다. 좀 더 자세히 알아보기 위해 예제를 살펴보았다. function func1(a, b, c) { console.log(arguments[0]); // a // expected .. 2020. 9. 15.
[JavaScript] apply() 와 call() 이번에는 apply()와 call()에 대해서 알아보았다. apply() 메서드는 주어진 값과 배열로 제공되는 arguments로 함수를 호출해준다. call() 과 유사하지만 둘은 차이점이 있다. call() 은 함수에 전달될 인수 리스트를 받는데 비해, apply() 는 인수들의 단일 배열을 받는다. MDN에서는 이렇게 명시하고 있다. 그래서 간단한 예제들을 통해 살펴 보았다. // 기본 사용법 // func.apply(thisArg, [argsArray]) 현재사용할 객체, 배열 // func.call(thisArg[, arg1[, arg2[, ...]]]) 현재 사용할 객체, 객체를 위한 인수 function myFunction(x, y, z) { return x + y + z; } var arg.. 2020. 9. 15.
[JavaScritp] Spread syntax (...) 전개 구문 오늘은 Spread syntax (...) 전개 구문에 대해서 알아보고자 한다. 전개 구문을 사용하면 함수에 인수로 배열이나 문자열 같은 반복 가능한 값들을 하나씩 넣어준다고 생각하면 된다. 특히 매개변수로 인수를 여러개 넣어주고 싶을 때 또는 동적으로 매개변수를 넣고 싶을 때 전개 구문을 사용하면 좋다. 처음 보는 문법이라 조금 헷갈렸지만 예제를 보면서 이해했다. // 기본 사용법이다. // myFunction(...iterableObj); let num = [1, 2, 3, 4]; console.log(...num); // 1, 2, 3, 4 function myNum(x, y){ if(x > y) return x; else return y; } console.log(myNum(...num)); //.. 2020. 9. 15.
반응형