
var = 구 버전 let = 신버전 const 변경 불가능한 값 / constant 상수는 안정적이라는 뜻. const a = 221; let b = a - 5; a = 4; console.log(b , a); // 결과는 상수의 값을 변경할수없다는 에러가 뜬다. a의 값을 변경불가능하게 하고싶다면 const, 변경가능한 값으로 만들고 싶다면 let을 사용하면 된다. 그렇다면 var을 쓰는 경우는 어떠한가? var = variable const나 let이없던 시절에는var를 사용했지만 , 지금은 완벽히 변수 상수가 나눠 있기에 굳이 var을 사용하지않아도 된다.

Variable (변수) 변경되거나 변경 할 수 있는것. 수학에서 변수라고 생각했을때 a = 2라고 하면 지금은 2지만, a를 200으로 변경하고싶다고하면 a = 200 하면 된다는것이다! b = a - 5라면 b는? 195가 되는것이지. console.log(b);를 하면 195가 출력된다는 것이지. 자바스크립트의 문제점은 내가 나쁜코드를 작성해도 그냥 납둔다. 그냥 나를 판단하지않고 내가하는말을 실행하기위해 최선을 다할뿐, 그래서 내가 문법을 완벽하게 작성해야된다는거지 그래서 내가 한 문장을적고 끝났어요!라는것을 알려주고 위해서는 ; 세미콜론을 꼭 적어줘야 자바스크립트가 이해하게 된다는거야. 변수를 만들고싶을때는 먼저 변수를 생성하고->초기화하고-> 사용한다. 라는 게 기본적인 문법이다. 변수를 생성..

어떤사람들은 바닐라스크립트같은걸 배우지않고 바로 바로 커피스크립트를 배우거나 ,매우 현대적인 자바스크립트를 사용하는데, 라이브러리, 프레임워크를 사용하면 자바스크립트는 좀더 예쁘게 만들어주는거라 배우는거라 쉽지만, 사실 바닐라 자바스크립트가 제일 기본이지만 어렵다. 그래서 바닐라 자바스크립트를 능숙하게 쓰게되면 다음단계로 넘어가는 것이 좋다. 리액트나 제이쿼리 아는사람은 찾기 쉽지만, 실제 필드에서는 자바스크립트에 대해 expert이지 않을 가능성이높다. CODE Vanilla JS document.getElementById('test-table'); Dojo dojo.byId('test-table'); Prototype JS $('test-table') Ext JS delete EXxt.elCache[..

자바스크립에는 ECMAScript(에크마)라는 것이 있는데 ES5 = ECMAScript5 / ES6 = ECMAScript6 라는것처럼 버전이라는 것이다. 많은사람에게 검증받은 매뉴얼 설명서같은 것이다. 구글 크롬은 ES6를 지원한다고 하면, 구클 크롬 개발자들은 새로운 특징을 수행할 수있다. 버전이랑, 어떤걸 먼저 배워야할까?라고 생각하지말고 그냥 배워야한다 바닐라 자바스크립트는, 자바스크립트중에 라이브러리가 없는 그냥 순수한 자바스크립트를 말한다. (제이쿼리같은것을 사용하지 않는 기본적인 자바스크립트.)

자바스크립트를 이용하면, 나의 위치, 나의 날씨, 나의 todo list, 나의 실시간 시간(real time), 실시간 채팅 등 휴대폰에서도 작동하는 앱을 만들 수 있다. 그 말은 내가 만든 것을 play store에도 보낼 수 있다. 비디오 게임같은 것도 리얼타임으로 만들 수 있다. 내가 그린것을 AI가 어떤것인이 맞추면 , 예를들면 우산을 그리면 T 실시간으로 3D로 우산 모양을 만들어주기도한다. 이것 모두 자바스크립트로 만들 수 있다. 예전에 플래시로만든 플래시게임들처럼 자바스크립트로 웹에서 작동하는 게임을 만들 수 있다. 자바스크립트가 단순히 웹사이트를 만드는데에 그치지 않고, 게임을 만들거나 interactive(상호작용 가능한)것을 만들거나 다양한것으로 응용 가능하다. 자바스크립트는 자바스크..

자바스크립트는 웹사이트 구축하거나, 사이트를 동적으로 만들고싶을때 사용한다. backend에서는 phtyon이나 java, ruby, asp, 하스켈 등 쓸수있는 언어가 많지만, frontend에서는 쓸수있는 언어는 한가지, 오직 javacsript이다. javascript를 할수있는 개발자들은 할수있는 일이 점점 많아진다. 90년대에서는 그냥 클릭버튼누르면 다음페이지로 넘어가게하는 그런 이벤트만 수행했지만, 지금은 영향력이 강해졌다. 사람들이 자바스크립트를 왜 좋아하는지, 또 싫어하는지에대해 앞으로 알아 볼 것이다. VS Code , Atom또한 자바스크립트로 만들어진 프로그램이다.

apply함수 기본적인 함수 호출방법 function func(){ } func(); function sum(arg1, arg2){ return arg1+arg2; } alert(sum.apply(null, [1,2])) // 3 함수 sum은 Function 객체의 인스턴스다. 그렇기 때문에 객체 Function 의 메소드 apply를 호출 할 수 있다. apply 메소드는 두개의 인자를 가질 수 있는데, 첫번째 인자는 함수(sum)가 실행될 맥락이다. 맥락의 의미는 다음 예제를 통해서 살펴보자. 두번째 인자는 배열인데, 이 배열의 담겨있는 원소가 함수(sum)의 인자로 순차적으로 대입된다. Function.call은 사용법이 거의 비슷하다. o1 = {val1:1, val2:2, val3:3}//객체..

arguments 함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다. arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다. arguments[0]은 함수로 전달된 첫번째 인자를 알아낼 수 있다. 또 arguments.length를 이용해서 함수로 전달된 인자의 개수를 알아낼 수도 있다. 이러한 특성에 반복문을 결합하면 함수로 전달된 인자의 값을 순차적으로 가져올 수 있다. 그 값을 더해서 리턴하면 인자로 전달된 값에 대한 총합을 구하는 함수를 만들 수 있다. function sum(){ var i, _sum = 0; for(i = 0; i < arguments.length; i++){ ..