-
클로저 (Closure)Javascript 2020. 4. 2. 16:49
Closure Closures are nothing but FUNCTIONS WITH PRESERVED DATA 내부함수가 외부함수의 컨텍스트에 접근할 수 있는 것을 클로저라고 합니다. 외부함수가 실행된 후에도 내부함수가 외부함수의 컨텍스트에 접근할 수 있습니다. 커링: 함수 하나가 n개의 인자를 받는 대신, n개의 함수를 만들어 각각 인자를 받게 하는 방법 function adder(x) { return function(y) { return x + y; } } adder(2)(3); //5 //하나의 값을 고정시키고 계속 사용할 수 있습니다. let add100 = adder(100); add100(2); //102 add100(10); //110 let add5 = adder(5); add5(2); ..
-
데이터 타입 (data type)Javascript 2020. 4. 2. 14:20
숫자와 문자 가장 많이 사용하는 데이터 형식으로써 프로그래밍으로 어떻게 표현하고 연산하는지 알아보겠습니다. 숫자 (정수, 실수) 1 //큰따옴표나 작은 따옴표가 붙지 않은 숫자를 숫자로 인식합니다. 1 + 2.5//정수와 실수을 사용할 수 있고, 사칙연산을 지원합니다. 2 * 5//곱하기를 할 때는 * (키보드 자판으로, shift + 8)를 사용합니다. 10 / 2//나누기를 할 때는 / (키보드 자판으로, 오른쪽 shift의 왼쪽)를 사용합니다. 사칙연산 이외의 복잡한 연산도 지원합니다. Math.pow(3,2); // 9, 3의 2승 Math.round(10.6); // 11, 10.6을 반올림 Math.ceil(10.2); // 11, 10.2를 올림 Math.floor(10.6); // 10, ..
-
재귀함수Javascript 2020. 3. 30. 22:26
재귀함수란? 한 함수가 자기 자신을 호출하는 형태 재귀호출은 알고리즘을 구현할 때 매우 유용합니다. 반복문으로 구현한 코드보다 재귀호출로 구현한 코드가 좀 더 직관적이고 이해하기 쉬운 경우가 많습니다. 스택(Stack) 재귀 호출을 이해하기 위해서 스택이라는 자료구조를 먼저 알아야 합니다. 컴퓨터가 호출 스택으로 함수를 실행하기 때문입니다. //Iterative code function factorial (n) { var result = 1; for (var i = n; i >= 1; i--) { result *= i; } return result; } 재귀 함수로 바꾸면 다음과 같습니다. //recursive code function factorial (n) { return n * factorial(n..
-
정수 메서드 (interger method)Javascript 2020. 3. 30. 08:41
Number.isInterger 주어진 값이 정수인지 판별합니다. 더보기 구문 Number.isIterger(value) 매개변수 value 정수인지 확인하려는 값 반환값 주어진 값의 정수 여부를 나타내는 Boolean 값 Number.isInteger(100);//true Number.isInteger(-500);//true Number.isInteger(0.4);//false Number.isInteger("500");//false parseInt / parseFloat 문자열 인자의 구문을 분석해 특정 진수의 정수를 반환합니다. (parseInt) 문자열을 분석해 부동소수점 실수로 반환합니다. (parseFloat) 더보기 구문 parseInt(string, radix) parseFloat(valu..
-
함수형 프로그래밍 (functional programming)Javascript 2020. 3. 27. 10:01
forEach element를 하나씩 불러옵니다. let users = [ { name: 'Tim', age: 40 }, { name: 'Satya', age: 20 }, { name: 'Sundar', age: 50 } ]; //for문을 이용한 반복 for(let i=0; i 40//조건 } users.filter(moreThan40) //name중에 'T'를 포함한 element를 push한다. function includesT(user){ return user.name.indexOf('T') !== -1; } users.filter(includesT)//[{name: "Tim", age: 40}] //콜백함수 let hasT = users.filter(function(user){ return us..
-
배열의 메서드 (array method)Javascript 2020. 3. 26. 22:16
Array 새로운 Array 객체를 생성할 때 사용합니다. 더보기 구문 new Array(element0, element1[, ...[, elementN]]) new Array(arrayLength) 매개변수 elementN 배열을 초기화할 때 채워넣을 요소. 단, 항목이 하나뿐이며 그 항목의 자료형이 숫자일 경우 arrayLength 매개변수로 간주한다. arrayLength length 속성이 해당 값인 배열을 생성하지만 그 만큼의 빈 슬롯을 가지는 것으로 실제 undefined를 채우는 것이 아닙니다.) //배열 리터럴 표기법 let fruits = ['사과', '바나나'] console.log(fruits.length) // 2 console.log(fruits[0]) // "사과" //단일 매개..
-
문자열 메서드 (string method)Javascript 2020. 3. 26. 15:42
var str = 'codestates' console.log(str[0]); // 'c' 접근 가능하지만 쓸 수는 없습니다. (read-only) +연산자를 쓸 수 있습니다. string타입과 타른 타입 사이에 +연산자를 쓰면, String형식으로 변환됩니다. (toString) length (property) 문자열의 전체 길이를 반환합니다. var str = 'codestates' console.log(str.length); //10 str.indexOf(searchValue) arguments 찾고자 하는 문자열 return value 처음으로 일치하는 index, 찾고자 하는 문자열이 없으면 -1 str.lastindexOf(); 는 문자열 뒤부터 찾음 str.includes(); 는 true와..
-
객체 (object)Javascript 2020. 3. 26. 09:40
여러 가지 정보를 담고 싶을 때 여러 개의 변수를 일일이 선언하는 방법 대신에 사용합니다. 배열을 사용한다면? let user = [ 'john', '37', 'john@gmail.com', 'Seoul' ]; 각 값이 하나로 묶여있지만 각각의 index가 어떤 정보를 의미하는지 알 수 없습니다. 이럴 때 객체를 사용합니다. let user = {//중괄호(curly bracket)을 이용하여 객체를 만듭니다 name: 'john', age: '37', //key: value email: 'john@gmail.com', //key-value pair는 쉼표로 구분합니다 city: 'Seoul' }; 객체의 값에 접근하는 방법 Dot notation user.name;//'John' user.city;//..
-
함수 (function)Javascript 2020. 3. 26. 07:03
함수(function)는 지시사항의 묶음입니다. y = f(x) 입력 -> 함수 -> 출력 f(x) = x로 들어가는 문자열의 길이 f(안녕하세요) = 5 JavaScript에서의 함수는 함수 이름과 입력으로 만들어 집니다. getLength(“안녕하세요”) let length = getLength("안녕하세요"); console.log(length);//5 함수의 선언 function myFunction(input){ //함수에서 사용할 입력값(input)을 매개변수(parameter)라고 부릅니다. // 컴퓨터에게 시킬 일 } //다음과 같이 정의할 수도 있습니다.(함수 표현식) let myFunction = function(inqut){ // 컴퓨터에게 시킬 일 } 함수 선언식과 함수 표현식의 차이..
-
반복문(for, while)Javascript 2020. 3. 25. 12:55
같거나 비슷한 코드를 여러번 실행시켜야 할 경우에 사용한다. let sum = 1; sum = sum + 2; sum = sum + 3; sum = sum + 4; 반복할 조건을 코드로 작성합니다. sum = sum + n; 조건 숫자(n)는 2부터 시작한다. 숫자(n)는 4가 될때까지 반복한다. 숫자(n)는 1씩 증가한다 for구문 반복할 조건을 초기화, 조건식, 증감문 순서로 넣는다. for(초기화, 조건식, 증감문) let sum=1; for(let n=2; n