본문 바로가기

JavaScript

자바스크립트 클로저 클로저 closure 내부함수가 외부함수 변수에 접근할 수 있는 것 외부함수가 종료되었더라도 내부함수에서 외부함수의 변수에 접근할 수 있는 방법 함수 안에서 또 다른 함수를 선언하여 내부함수를 만들 수 있다. function outerFuc(){ // 외부함수 function innerFuc(){ // 내부함수 } innerFuc(); } outerFuc(); 내부함수에서 외부함수 지역변수에 접근할 수 있다. function outerFuc(){ var text = '지역변수'; function innerFuc(){ console.log(text); } innerFuc(); } outerFuc(); 외부함수가 더 이상 사용되지 않아도 내부함수가 외부함수 변수에 접근할 수 있다. function outer.. 더보기
네임스페이스 네임스페이스 전역 변수와 함수를 하나의 함수로 감싸 지역변수로, 객체 안의 속성으로 만드는 것을 네임스페이스를 만든다고 표현 전역 변수와 객체, 함수들 = 지저분한 코드 var abc = 'ABC'; var aaa = 'AAA'; var m = {}; m.mm = 'mmm'; function abcFunc(){ console.log(abc, aaa, m.mm); } abcFunc() 객체 리터럴 패턴 하나의 전역 객체를 생성한 후 그 전역 객체 안에 구현 var obj = { x : 'x', y : function(){ console.log( this.x ); } } obj.x; obj.y(); 단점 : 수정 가능 obj.x = '바보 메롱'; 방지하려면 즉시실행함수를 추가한 패턴으로 var obj = .. 더보기
자바스크립트 렉시컬스코프 함수의 상위 스코프를 결정하는 두 가지 동적스코프 - 함수를 어디서 호출했는지에 따라 상위 스코프 결정 정적스코프 - 함수를 어디서 선언했는지에 따라 상위 스코프 결정 정적스코프 = 렉시컬스코프 lexical scope var msg = 'zz'; function log(){// 함수 선언 순간 가장 가까운 변수 참조 console.log(msg); } function outer(){ msg = 'ㅋㅋ'; log(); } outer(); // ㅋㅋ var msg = 'rr'; function log(){// 함수 선언 순간 가장 가까운 변수 참조 console.log(msg); } function outer(){ var msg = 'ㄱㄱ'; log(); } outer(); // rr 전역변수를 지양해야하.. 더보기
[프로그래머스] 정수 내림차순으로 배치하기 - javascript 프로그래머스 코딩테스트 연습 - 정수 내림차순으로 배치하기 설명 정수 n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴 조건 n는 길이 1이상 8000000000 이하인 자연수 입출력 예 n return 118372 873211 solution.js function solution(n) { return Number(n.toString().split('').sort().reverse().join('')); } solution(118372) 풀이 toString() - 문자타입으로 변환 split() - 문자열을 구분자로 잘라서 배열로 저장 sort() - 배열을 정렬 reverse() - 원소 순서를 반대로 join() - 배열 합치기 Number() - 숫자타입으로 변환 숫자를 문자로 .. 더보기
[프로그래머스] 문자열 내림차순으로 배치하기 - javascript 프로그래머스 코딩테스트 연습 - 문자열 내림차순으로 배치하기 설명 문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수 s는 영문 대소문자로만 구성되어 있으며, 대소문자는 소문자보다 작은 것으로 간주 조건 s는 길이 1이상인 문자열 입출력 예 s return "Zbcdfg" "gfedcbZ" solution.js function solution(s) { return s.split('').sort().reverse().join(''); } solution('Zbcdefg') 풀이 split() - 문자열을 구분자로 잘라서 배열로 저장 sort() - 배열을 정렬 reverse() - 원소 순서를 반대로 join() - 배열 합치기 문자열을 한글자씩 잘라 배열에 저장 후 .. 더보기
자바스크립트 변수 변수 - 문자나 숫자와 같은 데이터를 저장해두는 저장소 - 데이터의 성질에 따라 수치나 문자열 등 몇 가지 종류로 분류되는데 이 성질을 형(Type)이라고 한다. - Type의 종류 : number, string, object, boolean, null, undefined - 변수명 = 데이터 값 - 전역 변수 : 함수 밖에서 선언함 - 지역 변수 : 함수 내에서 선언함 변수 선언 var (데이터형) Temp (변수 이름, 기억 저장 공간) = 숫자, 문자, 부호 등을 대입할 수 있다. 한 번에 한 개의 데이터만 저장. 새로운 데이터가 입력되면 기존의 값은 삭제. 변수 이름 지정하는 법 - 영문자, 숫자, 언더바를 조합하여 만들 수 있다. - 첫 글자는 영문자나 언더바를 사용 - 영문자는 대소문자를 철저.. 더보기