본문 바로가기

자바스크립트

클로저(Closure) | 클로저의 유용한 활용 클로저(closure)는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다. 클로저를 정의해보면 다음과 같습니다. 외부 함수에 접근할 수 있는 내부 함수(이러한 원리)를 일컫는 용어로, 스코프 범위 개념에 따라 내부함수의 범위에서는 외부함수 범위에 있는 변수에 접근이 가능하지만, 그 반대는 실현이 불가능한 개념입니다. # 클로저의 유용한 활용 *커링 이용: 함수 하나가 n개의 인자를 받는 대신, n개의 함수를 만들어 각각 인자를 받게하는 방법 1 2 3 4 5 6 7 8 9 10 11 12 function add(a){ return function(b){ return a + b; } } let result = add(4)(6); console.log(result); // 10 let result100 .. 더보기
스코프 (Scope) | var과 let, const의 차이점 JavaScript에서 변수는 어떠한 환경 내에서만 사용 가능하며, 각각의 접근 규칙을 갖고 있습니다. 기본적으로 스코프는 변수와 그 값이, 어디서부터 어디까지 유효한지를 판단하는 범위입니다. 자바스크립트는 기본적으로 함수가 선언되는 동시에 자신만의 스코프를 가집니다. 이러한 스코프가 없다면, 프로그램 내부에서 같은 식별자 이름은 충돌을 일으키므로, 단 한개밖에 사용할 수 없습니다. 이러한 스코프를 이해하기 앞서 가장 먼저, JavaScript에서 변수 선언 방식인 let, const, var의 차이점을 먼저봅시다. 차이점을 크게 3가지로 나눌 수 있습니다. 1. 변수 재할당과 재선언 2. 호이스팅 3. 스코프 | 변수의 유효범위 let const var 유효 범위 Block Scope Block Sco.. 더보기
Array 메서드 | #2-2 Immutable (불변성) 메서드 [JavaScript] Array 메서드 | #2-1 Immutable (불변성) 메서드 ▼ 원본 배열이 변하는 메서드 [JavaScript] Array 메서드 | #1 원본 배열 자체를 수정하는 메서드 배열의 메서드를 사용하기 전에, 항상 배열의 요소 자체를 수정하는지, 그 사본을 반환하는 메서드인 opentogether.tistory.com #2-2 Immutable (불변성) 메서드 "원본 배열을 수정하지않고, CallBack이 존재하는 순회메서드" forEach() - 배열의 각각의 요소에 대해 콜백을 호출합니다. arr.forEach(callback(currentvalue, index, array), thisArg) ◾ callback: 각 요소에 대해 실행할 함수입니다. ◾ currentVal.. 더보기
Array 메서드 | #2-1 Immutable (불변성) 메서드 ▼ 원본 배열이 변하는 메서드 [JavaScript] Array 메서드 | #1 원본 배열 자체를 수정하는 메서드 배열의 메서드를 사용하기 전에, 항상 배열의 요소 자체를 수정하는지, 그 사본을 반환하는 메서드인지 주의해야합니다. #1 원본 배열 자체를 수정하는 메서드 자주 사용하는 push(), pop(), shift(), u opentogether.tistory.com #2-1 Immutable (불변성) 메서드 "원본 배열을 수정하지않고, 새로운 배열 또는 값을 반환하는 메서드" join() -모든 배열의 요소를 연결해 하나의 문자열로 변환 arr.join(separator) ◾ separator: 배열의 각 요소를 구분할 문자열을 지정합니다. [Optional] ◾ 반환값: 배열의 모든 요소들을 .. 더보기
Array 메서드 | #1 원본 배열 자체를 수정하는 메서드 배열의 메서드를 사용하기 전에, 항상 배열의 요소 자체를 수정하는지, 그 사본을 반환하는 메서드인지 주의해야합니다. #1 원본 배열 자체를 수정하는 메서드 자주 사용하는 push(), pop(), shift(), unshift()와 같이 함수 호출 시 원본 그자체를 변경하는 메서드를 뜻합니다. 항상 원본 배열 자체를 수정하는 메서드를 사용할때에는 원본 값이 변경되므로 주의해서 사용하거나, 미리 원본을 다른 변수에 넣어 놓아야 합니다. ▼push(), pop(), shift(), unshift() 설명 [JavaScript] 배열과 객체의 개념과 차이 (Array vs Object) #1 배열과 객체의 정의 배열의 선언방법 let arr = []; 1 2 3 let arr = []; // 빈 배열 선언 a.. 더보기
문자열(String) 주요 메서드 파악하기 1. 문자열 접근 str[index] 1 2 3 4 5 6 7 8 9 let str = "Cook"; console.log(str[0]); // "C" console.log(str[100]); // undefined console.log(str[str.length - 1]); // "k" /* Read-only로 해당 인덱스 값 쓰기 불가 */ str[0] = "B"; console.log(str); // "Cook" cs 2. 문자열 합치기 ( + ) str + str - '+' 연산자를 통해 문자열 합치기가 가능합니다. - 'string'타입과 다른 타입 사이에 '+'연산자를 사용하면, 합쳐진 타입은 'string'입니다. 1 2 3 4 5 6 7 8 9 10 let str1 = "Apple"; le.. 더보기
배열과 객체의 개념과 차이 (Array vs Object) #1 배열과 객체의 정의 배열의 선언방법 let arr = []; 1 2 3 let arr = []; // 빈 배열 선언 arr = [1, 3, 5, 7, 9]; // 배열에 값 할당 console.log(arr); // --> [1, 3, 5, 7, 9] cs - 배열은 순서가 있는 값으로, 그 순서는 인덱스로 구성이 되어있습니다. (번호는 0부터 매김) - 그 값들은 요소(element)라고 부르며, 각각의 요소들은 쉼표(comma)로 구분해줍니다. - 대괄호'[ ]'를 통해 배열을 만듭니다.​ 객체의 선언방법 let user = {}; 1 2 3 4 5 6 7 let user = {}; // 빈 객체 선언 user = { name: "Jun", email: "jun@gmail.com", city: .. 더보기
[조건문] 주어진 score을 학점으로 변환하기 (A+, A, A- , ... , F) 문제 설명 점수가 주어졌을때, "convertScoreToGradeWithPlusAndMinus" 함수는 주어진 점수와 대응하는 등급을 문자열로 반환합니다. 조건 (100 - 90) --> 'A' (89 - 80) --> 'B' (79 - 70) --> 'C' (69 - 60) --> 'D' (59 - 0) --> 'F' 만약 주어진 점수가 100을 초과하거나 0 미만이라면 INVALID SCORE 를 반환해야 합니다. 만약 점수의 1의 자리가 0~2 사이라면 등급과 함께 '-'를 반환해야 합니다. 만약 점수의 1의 자리가 8~9 사이라면 등급과 함께 '+'를 반환해야 합니다.F+ 와 F- 는 존재하지 않습니다. 입출력 예시 let output = convertScoreToGradeWithPlusAndM.. 더보기