전체 글
-
함수Javascript 2020. 1. 2. 22:19
생략 가능한 전달인자(Optional Arguments) 함수 호출 시점에 전달인자를 생략할 수 있게 함수를 작성하는 것이 유용하다. 생략될 수 있는 전달인자는 적당한 기본값을 할당해 줄 수 있어야만 한다. 1 2 3 4 5 6 function copyPropertyNamesToArray(o, /* optional */ a) { if (!a) a= []; // a가 정의되지 않았거나 혹은 null이라면 빈 배열을 사용한다. for(var property in o) a.push(property); return a; } 가변 길이 전달인자 목록: 전달인자 객체 arguments는 Arguments 객체를 참조하는 특별한 프로퍼티다. 함수에 전달된 전달인자의 값을 전달인자 이름이 아니라 숫자를 사용해 접근하기..
-
객체와 배열Javascript 2020. 1. 2. 15:59
객체 객체 생성하기 객체는 복합 타입이다. 즉 객체는 여러 값들을 결합한 것으로서 값에 붙은 이름을 사용하여 원하는 값을 저장하고 읽어올 수 있다. 객체로 결합되는 값들은 숫자나 문자열 같은 기본 타입이거나, 다른 객체일 수도 있다. 객체를 생성하는 가장 쉬운 방법은 객체 리터럴({})을 사용하는 것이다. new 연산자를 사용하면 다른 방식으로 객체를 생성할 수 있다. new 연산자 뒤에는 객체의 프로퍼티들을 초기화하는 생성자 함수의 호출이 뒤따라야 한다. 다음은 new 연산자를 사용해 객체를 생성하는 몇 가지 예를 보여준다. 1 2 3 var a = new Array(); // 빈 배열을 생성한다. var d = new Date(); // 현재 날짜와 시간을 나타내는 객체를 생성한다. var r = n..
-
문장Javascript 2020. 1. 2. 15:24
function 1 2 3 function func_name (param1, param2, ...){ statements } 함수 이름은 문자열이나 표현식이 아닌 식별자이어야만 한다. 다른 문장 블록들과는 달리 중괄호가 반드시 필요하다. 일반적으로 함수 정의는 최상위 단계 코드에서 나타난다. 함수 정의를 다른 함수 정의 속에 중첩시킬 수 있다. 함수는 원칙적으로 문자이 아니다. 문장은 실행 시간에 실행되는 반면, 함수는 컴파일 단계에서 정의된다. parser가 함수 정의를 만나면 이 함수의 몸체를 이루는 문장들을 파싱하고 저장한다. 그리고 이 함수를 유지할 프로퍼티를 이 함수와 동일한 이름으로 정의한다. return return은 오직 함수 몸체 내부에서만 나타날 수 있다. return 문이 실행되는 시..
-
변수Javascript 2020. 1. 2. 14:26
변수 선언 변수 선언은 var 키워드를 사용한다. 하나의 var 키워드에 여러 개의 변수를 선언할 수 있다. 또한 변수의 선언과 초기화를 함께 할 수 있다. 1 var i = 0, j = 0, k = 0; 만일 변수의 초기화를 지정하지 않을 경우 변수 선언은 되지만, 값은 undefined이다. 변수 선언의 반복과 생략 var 구문으로 같은 이름의 변수를 여러 번 선언해도 무방하다. 만일 그 반복된 선언에 변수 초기화 구문이 함께 있을 경우 그 변수에 값을 할당하는 구문과 동일하게 작동한다. 그리고 선언되지 않은 변수는 암묵적으로 그 변수를 전역 변수로 선언된다. 그 변수가 함수 안에 쓰인다 하더라도 마찬가지이다. 정의되지 않은 변수 vs 할당되지 않은 변수 정의되지 않은 변수의 첫 번째 종류는 아직 선..
-
MYSQL JOIN문Today I Learned 2019. 12. 27. 14:22
JOIN이란? 테이블들이 서로 연관을 맺고 이들로부터 특정 조건의 레코드셋들을 선별하게 되는데, 이를 테이블 조인이라 한다. Inner Join 복수 테이블들이 조인 조건을 모두 만족하는 레코드들만 선별하는 조인이다. 교집합이라고 생각할 수 있다. SELCET * FROM "TableA" INNER JOIN "TableB" ON "TableA.Col" = "TableB.Col" Left Join Left table을 포함한 교집합 구문이다. TableA의 내용은 그대로 있고, TableB와 겹치는 부분이 있는 내용을 추출하는 것이다. SELCET * FROM "TableA" LEFT JOIN "TableB" ON "TableA.Col" = "TableB.Col"
-
.gitignore 재설정Today I Learned 2019. 12. 26. 16:59
문제 git 으로 관리하지 않을 디렉토리들이 이미 포함되어 버린 경우 나중에 .gitignore 에 추가하여도 이미 해당 파일은 track 하는 상태에게 제거되지 않는다. 해결 이를 해결하기 위해서 일단 .gitignore를 만든 후, 아래의 절차에 따라 tracking 을 다 삭제하고 새로 재설정한다. 출처 http://wincloud.link/plugins/servlet/mobile?contentId=38961166#content/view/38961166 컨플루언스 모바일 - Confluence.winCloud.Link wincloud.link