본문 바로가기

JavaScript

(52)
[JavaScript] 함수(function) 함수는 프로그램을 구성하는 주요 구성요소 입니다. 잘 만들어진 함수를 이용하면 중복 없이 유사한 동작을 하는 코드를 여러번 호출 가능합니다. 함수는 간결하게 한가지 기능만 수행 할 수 있도록 만들어야 합니다. (예제1) function sayHello() { alert("Hello kim!"); } sayHello(); // 함수 호출 위 (예제1)은 "Hello kim"을 alert 창에 보여주는 작업을 하는 함수입니다. 이렇게 함수를 만들어 두면 원하는 곳에서 함수 호출을 하여 간편하게 원하는 동작을 하게 만들 수 있습니다. (예제2) function sum(a, b) { return a + b; // 전달 받은 값을 더하기 연산 후 반환 } let result = sum(1, 2); // 1 과 2..
[JavaScript] 전역 변수 와 지역변수 변수는 유효범위에 따라 전역변수(Global Variable)와 지역변수(Local Variable)로 구분할 수 있다. Javascript 변수 유효범위는 변수를 어디에서 접근 할 수 있느냐를 가르킨다. 전역변수는 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근할 수 있는 변수이다. 지역변수는 함수 내부에서 선언된 변수로, 함수가 실행되면 만들어지고 함수가 종료되면 소멸하는 변수이다. 지역변수는 함수 외부에서는 접근할 수 없다. let name = "global" // 전역변수를 선언 function scopeTest() { let name = "local" // 지역 변수를 선언 console.log(name); // 전역 변수가 아닌 지역변수를 사용 } scopeTest(); // "local..
[JavaScript] null / undefined 란 let age = null; console.log(age); // null; Javascript의 null은 다른 언어의 null과 성격이 다릅니다. 다른 언어에서는 존재하지 않는 객체에 대한 참조 / 널 포인터(null pointer)를 나타낼 때 사용합니다. Javascript에서는 null을 (존재하지 않는 값 / 비어있는 값 / 알 수 없는 값) 을 나타낼 때 사용됩니다. let age; console.log(age); // undefined undefined 는 값이 할당되지 않은 상태를 나타낼 때 사용합니다. 변수는 선언 했지만, 값을 할당하지 않은 경우 해당 변수에 undefined가 자동으로 할당 됨
[Node js] Blocking Code / Non-Blocking Code 란 let fs = require("fs"); let data = fs.readFileSync("sample.txt"); console.log(data.toString()); console.log("프로그램이 종료 되었습니다."); 위 예제는 Callback Function이 사용 되지 않는, Blocking Code 입니다. 위 코드를 실행 해보면 파일을 읽고 텍스트를 출력 한 후 "프로그램이 종료 되었습니다." 로그가 찍힌다. 즉, 파일을 찾고 읽고 toString() 하고 출력 후 "프로그램이 종료 되었습니다."가 순서대로 실행 된다. let fs = require("fs"); // 모든 Node 어플리케이션의 비동기식 함수에서는 첫번째 매개변수로는 error를 받는다. // 마지막 매개변수로는 cal..
[Node js] 콜백 함수(Callback Function)란 Callback Function 는 일반적인 Javascript function 이다. 이름 그대로 나중에 호출 되는 함수를 말한다. Callback Function(콜백 함수) 이란 함수를 전달 받은 함수안에서 호출을 하는것이다. 어떤 이벤트가 발생 했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수를 말한다. // Ex_1) $("#btn_1").click(function() { alert("btn_1 clicked"); }); // click 메소드의 인수는 변수가 아닌 함수(function)이다. // click 메소드의 인수가 바로 Callback function 이다. // click 메소드에 이름이 없는 callback function을 인수로 전달해준다. // 그리고 click 메소드..
[JavaScript] 셋(Set) 이란? 셋(Set)은 중복 되지 않는 값(value)들을 모아둔 컬렉션이다. 키(key) : 값(value) 쌍이 아닌 키(key)가 없는 값이 저장된다. 동일한 값(value)이 있다면 set.add(value)를 몇번을 해도 추가가 안된다. 중복을 허용하지 않는 경우 즉, 단 한번만 기록 하는 경우에 사용하기에 적합하다. let testSet = new Set(); let kim = {name : "kim"}; let lee = {name : "lee"}; let choi = {name : "choi"}; testSet.add(kim); testSet.add(lee); testSet.add(choi); testSet.add(lee); // 값 중복 추가 testSet.add(choi); // 값 중복 추가 ..
[JavaScript] 맵(Map) 이란? 키(key)가 있는 데이터를 저장한다는 점에서 객체(Object)와 유사하다. 키(key)에 다양한 자료형을 허용한다. 객체(Object)와 달리 키(key)를 문자형으로 타입 변환 없이 그대로를 유지한다. NaN도 키(key)로 사용 가능하다. 값(value)의 삽입 순서를 기억한다. 객체(Object)는 프로퍼티 순서를 기억하지 못한다. 배열(Array)와 유사하게 내장 메서드 forEach도 지원한다. new Map() // 맵(Map)을 만든다. map.set(key, value) // 키(key)를 이용해 값(value)를 저장 map.get(key) // 키(key)에 해당하는 값을 반환한다. 키(key)가 존재하지 않으면 undefined를 반환 map.has(key) // 키(key)가 존..
Javascript 자료구조 프로그래밍에서 사용되는 기본 데이터 타입 JS의 원시 타입에는 string, number, bollean, null, undefined 가 있다. 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료 구조 JS의 참조 타입에는 object, array, function 이 있다. 저장된 자료의 전후 관계가 1:1 인 경우 데이터 항목 사이의 관계가 1:n 인 경우 스택과 큐 모두 Linear한 자료 구조형이다. 이 둘은 아주 유사한 자료구조이지만, element가 제거되는 방식에 차이가 있다. 스택과 큐는 자바스크립트에 내장되어 있지 않음으로, 사용을 원하면 스스로 구조를 만들어야 한다. 스택은 흔히 아는 자바스크립트 엔진에서의 콜 스택이 제거되는 방식과 동일하다. 마지막으로 삽입된 element가 가장 ..