본문 바로가기
320x100
728x90

분류 전체보기152

클로저(Closure) 자바스크립트에는 클로저라는 함수가 있다. 이 클로저 함수가 뭐냐면 함수와 함수가 선언된 언어적(정적) 환경의 조합이다. 즉, 함수 안에 함수가 존재하는 함수의 중첩형태이다. 자바나 c를 공부했던 필자의 개념에선 이해하기 힘든 개념이었지만, 현직 프론트엔드 개발자로 근무하고 있는 필자의 사촌형에 따르면 "메모리에 변수 올려놓고 상태 관리하는거니까 core 문법으로 작성하려면 필수개념이긴하지"라고 언급했다. 이 이야기를 듣고 몇 가지 실제 사용 사례들이 떠오르지만, 정확하지 않아 언급은 피해야겠다. 바로 클로저함수의 예시를 보자 function f1() { var a = 2; return function f2() { return a; } } var f = f1(); var a = f(); document.w.. 2020. 5. 20.
변수의 가시영역 자바스크립트에서는 var x= 30; var x= 20; 이와 같은, 코드를 실해했을 때, 자바 스크립트에서는 오류가 발생하지 않는다. x=30; document.write(x); 위와 같은 코드도 오류가 발생하지 않는다. 전역 객체의 속성 추가가 되었기 때문이다. 자바에서 this.x와 같은 개념으로 window 객체에 30이란 값이 지정되어있다. x=30; document.write(window.x); 이와같이 생략이 가능하고 생략하지 않아도 잘 실행이 된다. var x = 20;//전역 객체의 속성 function test() { var x = 30; document.write(window.x); } test(); 을 하게되면 20이 출력된다. 그러나 var x = 20; //전역 객체의 속성 fu.. 2020. 5. 20.
[JavaScript] 자바스크립트의 함수 코드는 절차를 가지고 있고, 함수가 없이는 코드가 매우 복잡해진다. 어떤 언어든 함수는 잘라서 쓸 수 있다는 장점을 가지고 있어서 코드의 간략화와 가독성을 높여준다. int add(int x,int y){ return x+y; } 자바스크립트는 자바와 달리 함수를 정의하지 않고 만들면서 사용한다. 함수도 객체라서 마음대로 쓸 수 있다. 선언 방법의 예시 var add=new Function("x,y","return x+y"); console.log(add(3,4)); 이와 같이, 코드를 작성 한 후 크롬의 개발자 관리도구를 실행해서 Console 탭으로 가면 아래와 같이 잘 실행되는 것을 볼 수 있다. var add=function(x,y){ return x+y; } document.write(add(3.. 2020. 5. 20.
[Mac] 맥의 배터리 사이클에 관하여... 중고로 맥북을 구매한지 한 3주 가량이 지났다. 내가 맥북을 받았을 당시 배터리 사이클은 150이었고, 맥북의 중고가격은 배터리 사이클과 상당한 연관이 있다는것을 알게되었다. 그 후, 맥북의 배터리 사이클 매커니즘이 궁금해져서 찾아봤다. 맥북을 사용하는 아는 형은 80%기준으로 떨어지면 1회가 올라간다고 알려줬는데, 진짜로 그런지 애플의 공식 홈페이지에 찾아보니 이런 설명이 나온다. 내가 맥북을 70%를 남겨놓고 사용을 중단하고 배터리 사이클을 본 결과 변화는 없었다. 왜 그런지 애플의 공식 사이트의 설명을 찾아봤는데 애플은 항상 너무 설명을 어렵게 하는데 애플의 설명에 따르면 맥의 배터리를 20%사용하고 80%가 남았다고 가정해보자. 80%가 되었다고 배터리 사이클이 올라가는게 아니라, 80%인 상태에.. 2020. 5. 20.
300x250
320x100