분류 전체보기(599)
-
4. 함수와 프로토타입 체이닝 #2 함수 객체 : 함수도 객체다
본 글은 인사이드 자바스크립트 도서의 내용을 복습하기 위해 작성된 글입니다. 4.2 함수 객체 : 함수도 객체다 4.2.1 자바스크립트에서는 함수도 객체다 자바스크립트에서는 함수도 객체다. 즉, 함수의 기본 기능인 코드 실행뿐만 아니라, 함수 자체가 일반 객체처럼 프로퍼티들을 가질 수 있다는 것이다. add() 함수도 객체처럼 프로퍼티를 가질 수 있다. // add() 함수도 객체처럼 프로퍼티를 가질 수 있다. // 함수 선언 방식으로 add() 함수 정의 function add(x,y){ return x+y; } // add() 함수 객체에 result, status 프로퍼티 추가 add.result = add(2,3); add.status = "OK"; console.log(add.result); /..
2021.07.22 -
4. 함수와 프로토타입 체이닝 #1 함수 정의
본 글은 인사이드 자바스크립트 도서의 내용을 복습하기 위해 작성된 글입니다. 4.1 함수 정의 함수 생성 방법 함수 선언문(function statement) 함수 표현식(function expression) Function() 생성자 함수 4.1.1 함수 리터럴 자바스크립트에서는 함수도 일반 객체처럼 값으로 취급한다. 따라서 객체 리터럴 방식처럼 자바스크립트에서는 함수 티러럴을 이용해 함수를 생성할 수 있다. 함수 리터럴을 통한 add() 함수 정의 function add(x,y){ return x+y; } function 키워드 : 자바스크립트 함수 리터럴은 function 키워드로 시작 함수명 : 함수의 이름, 함수명은 선택 사항이다. 함수명이 없는 함수를 익명 함수라 한다. 매개변수 리스트 : 함..
2021.07.22 -
백준(Backjoon) 7576, 토마토
문제풀이 위 문제를 해결하기 위해서는 그래프 알고리즘은 BFS 그래프 탐색 알고리즘을 활용합니다. 수행과정 토마토 상자안에 존재하는 익은 토마토(1)의 좌표를 큐에 삽입한다. 큐의 사이즈가 0이 될때까지 BFS 탐색을 수행한다. 큐에서 꺼낸 익은 토마토(1)의 인접 위치(상하좌우)를 검사하고 토마토 상자 범위안에 있고 익지 않은 토마토(0)인지를 검사한다. 만약 올바른 인접한 익지 않은 토마토(0)라면 익은 토마토(1)의 익지 않은 토마토(0)의 좌표의 값은 인접탐색 기준 토마토 좌표에 해당하는 값 + 1이 된다. 익지 않은 토마토(0)의 좌표값을 큐에 다시 삽입한다. 2~5의 과정을 반복 수행한다. 예시 예제 입력3을 기준으로 수행한다. 주의점 BFS 탐색을 종료했음에도 불구하고 토마토 상자 안에 익지..
2021.07.22 -
3. 자바스크립트 데이터 타입과 연산자 #7 연산자
본 글은 인사이드 자바스크립트 도서의 내용을 복습하기 위해서 작성된 글입니다. 3.7 연산자 자바스크립트 연산자의 대부분은 다른 언어와 유사하다. 자바스크립트에서 주의해야 할 연산자는 대표적으로 아래와 같다. + 연산자 typeof 연산자 ==(동등) 연산자, ===(일치) 연산자 !! 연산자 3.7.1 + 연산자 + 연산자는 더하기 연산과 문자열 연결 연산을 수행한다. 아래 예제와 같이 두 연산자가 모두 숫자일 경우에만 더하기 연산이 수행되고 나머지는 문자열 연결 연산이 이루어진다. let add1 = 1+2; let add2 = "my" + "string"; let add3 = 1 + "string"; let add4 = "string" + 2; console.log(add1); // 3 consol..
2021.07.21 -
3. 자바스크립트 데이터 타입과 연산자 #6 기본 타입과 표준 메서드
본 글은 인사이드 자바스크립트 도서의 내용을 복습하기 위해 작성된 글입니다. 3.6 기본 타입과 표준 메서드 자바스크립트는 숫자, 문자열, 불린값에 대해 각 타입별로 호출 가능한 표준 메서드를 정의하고 있다. 하지만 기본 타입의 경우는 객체가 아닌데 어떻게 메서드를 호출할 수 있을까? 다음 예제와 같이 기본 타입의 값들에 대해서 객체 형태로 메서드를 호출할 경우, 이들 기본값은 메서드 처리 순간에 개게로 변환된 다음 각 타입별 표준 메서드(다음 예제의 경우 toExponential()이나 chatAt())를 호출하게 되는 것이다. 그리고 메서드 호출이 끝나면서 다시 기본값으로 복귀하게 된다. 기본 타입 변수에서의 메서드 호출 // 숫자 메소드 호출 let num = 0.5; console.log(num...
2021.07.21 -
3. 자바스크립트 데이터 타입과 연산자 #5 배열
본 글은 인사이드 자바스크립트 도서의 내용을 복습하기 위해 작성된 글입니다. 3.5 배열 자바스크립트 배열의 특징 크기를 지정하지 않아도 된다. 각각의 요소의 타입을 동일하게 하지 않아도 된다. 3.5.1 배열 리터럴 배열 리터럴이란? 배열 리터럴은 자바스크립에서 새로운 배열을 만드는 데 사용하는 표기법이다. 겍체 리터럴이 중괄호( { } )를 이용한 표기법이었다면, 배열 리터럴은 대괄호( [] )를 사용한다. 배열 리터럴을 통한 배열 생성 // 배열 리터럴을 통한 5개 원소를 가진 배열 생성 let colorArr = ["orange", 'yellow', 'blue', 'green', 'red']; console.log(colorArr[0]); // orange console.log(colorArr[1..
2021.07.21