로컬 스토리지는 key : value 쌍으로 이루어져 있는 데이터 이며, Value는 JSON 형태를 이루고 있는 문자열 이여야 한다. 스토리지를 사용할 때 로컬 스토리지와 세션 스토리지를 사용하는데 로컬 스토리지는 웹브라우저를 닫아 세션이 끊겨도 데이터가 영구적으로 보관된다. 그래서 중요한 데이터는 저장하지 않는다. 로컬 스토리지와 세션 스토리지의 데이터를 보려면 개발자 도구 -> Application에서 확인 할 수 있다. [로컬 스토리지 적용 이유] 회사에서 로컬스토리지를 이용한 이유는 리스트에서 열을 이동하고 검색을 하거나 다시 리스트를 불러 올때도 열이 이동된 상태로 유지되게 해달라는 요청 때문이였다. 먼저 위와 같이 Status 열을 오른쪽으로 옮길수 있어야 되는데 이 옵션은 reorderab..
자바스크립트의 함수를 호출하면서 매개변수 원시 타입 값은 값을 전달 받고, 객체는 주소를 전달 받는다. 객체는 주소를 전달 받기 때문에 함수 body에서 객체를 변경 하였을 경우 원본이 훼손된다. var changeVal = function(primitive, obj) { primitive += 100; obj.name = "kang"; } var num = 50; var obj = { name: "lee" }; changeVal(num, obj); console.log(num); //50 console.log(obj.name); //kang num은 원시타입으로 값을 그대로 전달 받았지만, obj는 객체이기 때문에 주소가 전달 되었고, 함수 body에서 name을 변경 하였더니 원본 자체도 name이 ..
호이스팅 모르면 아래 글 참조 https://deftkang.tistory.com/235 [JS] 자바스크립트 변수 호이스팅(hoisting) 쉽게 이해하기 자바스크립트는 인터프리터 언어여서 코드가 한줄 씩 순차적으로 실행된다고 생각하지만 소스 코드가 실행되는 런타임전에 자바스크립트 엔진에서 변수 선언이 먼저 실행된다. 변수 호이스팅 deftkang.tistory.com 변수 호이스팅은 변수 선언문이 런타임 이전에 실행되어 undefiend로 초기화 되지만 함수 호이스팅은 함수 선언문으로 초기화 된다. console.log(score); //undefiend console.log(add(3, 4)); //7 console.log(minus); //undefiend score = 80; var score;..
자바스크립트는 인터프리터 언어여서 코드가 한줄 씩 순차적으로 실행된다고 생각하지만 소스 코드가 실행되는 런타임전에 자바스크립트 엔진에서 변수 선언이 먼저 실행된다. 변수 호이스팅이란 호이스팅이란 끌어올린다는 뜻이다. 즉 변수를 위로 끌어올려서 먼저 실행시킨다는게 변수 호이스팅이다. 아래 예제 처럼 score 변수 선언 없이 그냥 출력하려고 하면 ReferenceError가 발생한다. console.log(score); //ReferenceError: score is not defined 아래 예제 에서는 출력문 밑에 score 변수를 선언하고 위에서 score를 출력 했지만 변수에 아무값도 할당하지 않은 값 undefiend가 출력 되었다. console.log(score); //undefiend var..
변수 선언과 값들에 대한 타입 자바스크립트는 변수를 선언할 때 타입을 미리 지정하지 않고, var 라는 한가지 키워드로만 변수를 선언한다. 변수의 값은 어떤 타입으로든 저장이 가능하며, 변수의 어떤 타입의 데이터를 저장하느냐에 따라 변수의 타입이 결정된다. var intValue = 10; console.log(typeof(intValue)); //number; var strValue = "string type"; console.log(typeof(strValue)); //string; var booleanValue = true; console.log(typeof(booleanValue)); //boolean; var functionValue = function() { return "hello world..
자바스크립트는 다른 언어들과 달리 차이점이 많다. 아래 반드시 알아야 할 타입 특징들을 정리해 보았다. 자바스크립트의 기본 타입 자바스크립트의 기본 타입은 숫자, 문자열, 불린값, null, undefined 타입 이 존재한다. 자바스크립트는 느슨한 타입 체크 언어다. 변수를 선언할 때 타입을 미리 정하지 않고, var 라는 한 가지 키워드로만 변수를 선언한다. 변수에 어떤 형태의 데이터를 저장하느냐에 따라 해당 변수의 타입이 결정된다. 자바스크립트는 하나의 숫자형만 존재한다. 정수형 실수형이 따로 없어서 5/2는 2가 아니라 2.5가 출력된다. 문자열은 작은 따옴표(') 나 큰 따옴표(")로 생성한다. null과 undefiend null과 undefiend 둘다 값이 비어있음을 나타낸다. null은 ..
1. 함수 선언문 function add(x, y) { return x, y; } 함수 선운문 방식에서는 반드신 함수명이 정의되어 있어야 한다. 2. 함수 표현식 var add = function(x, y) { return x + y; } console.log(add(3, 4)); 자바스크립트에서는 함수도 하나의 값처럼 취급되기 때문에 함수도 숫자나 문자열 처럼 변수에 할당하는 것이 가능하다. add가 실제로 참조하는 함수에 함수명이 없어 익명 함수 라고 한다. 만약에 함수명이 있으면 기명 함수라고 하며 외부에서는 참조가 불가능 하다. var add = function sum(x, y) { return x + y; } console.log(add(3, 4)); //7 console.log(sum(3, 4..
콜백(Callback Function)함수란?자바스크립트 함수 표현식에서 익명 함수의 대표적인 용도가 바로 콜백함수 이다. 콜백 함수는 코드를 통해 명시적으로 호출하는 함수가 아니라, 개발자는 단지 함수를 등록하기만 하고, 어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출되는 함수를 말한다. 또한, 특정 함수의 인자로 넘겨서, 코드 내부에서 호출되는 함수 또한 콜백 함수가 될 수 있다. 콜백(Callback Function)함수 단계별로 이해하기 1단계 함수도 데이터 타입의 일종이기 때문에 값처럼 주고 받을 수 있다. function func() { console.log("func 호출됨");}var f1 = func;var f2 = f1;func(); f1();f2();cs 2단계 함수..
자바스크립트 함수 생성 방식 자바스크립트에서 함수를 생성하는 방법은 3가지가 있다. 이들 방식은 모두 같은 함수를 생성하지만, 각각의 방식에 따라 함수 동작이 미묘하게 차이가 난다.함수 선언문(Function statement)함수 표현식(Function expression)Function() 생성자 함수 함수 선언문함수 선언문은 선언적 함수라고 한다. 함수의 이름이 존재하고 컴파일 시점에 함수 정보를 등록한다.(함수의 호이스팅) 그래서 함수를 선언하기 이전에 사용이 가능하다. 함수가 별도의 return문을 사용하지 않는 경우 디폴트로 undefined가 반환된다. console.log(add(2, 3)); // 출력값 5 // add() 함수 선언문function add(x, y) { return x ..
undefined undefined의 경우, 변수는 존재하지만 값을 저장하지 않아서 타입을 모를 경우이다. 직접 값을 비교할 수 있다. var msg1;if (msg1 == undefined) console.log("변수 존재하지만 값이 없다.."); var msg2 = 20; msg2 = undefined; // 존재하는 변수를 undefined로 만들 수 있다.cs null null은 특정 객체를 가리키지 않음을 지정할 때 null을 사용한다. null또한 직접 값을 비교할 수 있다. var msg3 = null;if (msg3 == null) console.log("msg3은 null 상태임");console.log(typeof(null)); // typeof 연산자를 null에 사용하면 objec..
호이스팅(Hoisting) 호이스팅은 말 그대로 끌어 올린 다는 것이다. 자바스크립트 에서 끌어 올리는 것은 변수 '선언'과 함수 '선언' 을 끌어올리는 것이다.함수 호이스팅이 발생하는 원인은 자바스크립트의 변수 생성(Instantiation)과 초기화(Initialization)의 작업이 분리돼서 진행되기 때문이다. console.log(a());console.log(b());console.log(c()); function a() { return 'a';} var b = function bb() { return 'bb';} var c = function() { return 'c';}cs 위에 보이는 코드에서 a() 부터 실행 오류가 떠야 하지만 a는 출력이 된다. 왜냐하면 호이스팅에 의해서 실제 자바 ..
1. Node JS 다운 https://nodejs.org/ko/ 로 가서 LTS 버전을 다운 받는다. 2. Visual Studio Code 다운 https://code.visualstudio.com/ 에서 Visual Studio Code를 다운 받는다. 3. 폴더 하나를 만든후 Visual Studio Code에서 파일 -> 작업 영역에 폴더 추가 클릭 후 만든 폴더 선택 추가 버튼을 누르면 왼쪽 탐색기에 폴더가 추가된다. 4. 추가된 폴더 우클릭 -> 명령 프롬프트에서 열기 프롬프트 창에서 경로확인을 하고 자신이 만든 js파일을 node 파일명.js 나 node 파일명 치면 console.log를 통해서 JavaScript 연습이 가능하다.