본문 바로가기

Programming

(477)
6. Javascript 연산자 ' + ' 연산자 Javascript의 ' + ' 연산자는 더하기 / 문자열 연결 연산을 수행합니다. 다른 언어와 비슷한 기능을 하기 때문에 특이 사항은 없습니다. 물론, 피연산자가 모두 number일 때 더하기 연산이 수행되고 나머지의 경우 문자열 연결 연산자로 사용됩니다. var add1 = 1 + 99; var add2 = 'just' + 'music'; var add3 = 1 + 'life'; var add4 = 'life' + 1; console.log(add1); console.log(add2); console.log(add3); console.log(add4); // 100 // justmusic // 1life // life1 typeof 연산자 typeof 연산자는 피연산자의 데이터 타입..
5. Javascript 배열 (6) - 배열의 생성자 / 유사 배열 객체 배열의 Array( ) 생성자 함수 일반적으로 사용하는 배열 리터럴을 통한 배열 객체의 생성은 Array()생성자 함수로 배열을 생성하는 과정을 단순화 시킨 것이라고 생각하면 됩니다. new 연산자를 반드시 사용해야 하며, 이 때 사용하는 인자의 개수에 따라 동작이 달라집니다. 1. 인자가 1개이고, 숫자일 경우 - 호출된 인자를 length로 갖는 빈 배열 생성 2. 그 외의 경우 - 호출된 인자를 요소로 갖는 배열 생성 var arr = new Array(3); console.log(arr); console.log(arr.length); // [ ] // 3 var arr2 = new Array(1, 2, 3); console.log(arr2); console.log(arr2.length); // [..
5. Javascript 배열 (5) - 배열의 프로퍼티 다루기 배열의 프로퍼티 동적 생성 배열 역시 자바스크립트 객체에 속한다. 그래서 '배열로서의 원소' 이외에 객체로서의 프로퍼티를 가질 수 있습니다. 배열의 원소와 프로퍼티를 구분하여, 동적 생성을 테스트 하고 어떤 변화가 생기는지 아래에서 확인해봅시다. var newArr = ['aaa', 'bbb', 'ccc']; console.log(newArr.length); // 3 newArr.name = 'alphabet'; newArr.age = 99; console.log(newArr.length); // 3 newArr[3] = 'ddd'; console.log(newArr.length); // 4 console.dir(newArr); // [ 'aaa', 'bbb', 'ccc', 'ddd', name: 'al..
5. Javascript 배열 (4) - 배열과 객체 비교 일반 객체와 배열 객체의 차이 아래와 같이, 배열 객체인 hiphopArray와 hiphopObj를 각각 생성하여 차이를 살펴보도록 합시다. 1. 객체의 생성 var hiphopArray = ['AOMG', 'IMJMWDP', 'VMC']; console.log(hiphopArray[0]); console.log(hiphopArray[1]); console.log(hiphopArray[2]); var hiphopObj = { '0' : 'AOMG', '1' : 'IMJMWDP', '2' : 'VMC' }; console.log(hiphopObj[0]); console.log(hiphopObj[1]); console.log(hiphopObj[2]); 위와 같이 배열 객체인 hiphopArray와 일반 객체..
5. Javascript 배열 (3) - 배열 push( ) 메소드 length 프로퍼티 기반 배열 표준 메소드 대부분의 배열 관련 표준 메소드는 length 프로퍼티를 기반으로 동작합니다. 그래서 length 프로퍼티의 유무 여부는 해당 객체가 배열인지의 여부와 거의 직접적인 관계가 있다고 해도 과언이 아닐 정도로 중요합니다. 단순히 배열 객체 안의 원소 개수만을 출력하는 기능이라고 가볍게 여겨서는 안되죠. 여기서는 간단하게 예시로 push( )메소드를 통해, 배열 표준 메소드의 동작 방식을 살펴보도록 하겠습니다. push( ) 메소드 배열 표준 메소드인 push( )는 인자로 넘어온 값을 해당 배열의 끝에 추가하는 메소드 입니다. 단, 여기서 '배열의 끝'의 기준은 해당 배열의 length가 됩니다. 요약해 정의하면, [현재 length 프로퍼티 값과 동일한 인덱스에..
5. Javascript 배열 (2) - 배열의 length 배열 length 프로퍼티의 특성 배열의 length 프로퍼티는 기본적으로 배열의 원소의 개수를 표현하지만, 반드시 원소의 개수와 일치하지는 않습니다. Javascript 배열의 특징 중 하나인데요, 배열 내의 인덱스 값 중 가장 큰 인덱스 값을 기준으로 산출하는 프로퍼티 입니다. 사실상 배열의 length에 대해서는 아래와 같이 정의할 수 있습니다. [배열의 인덱스 값 중 가장 큰 인덱스 + 1] 즉, 다음 예제와 같이 동적으로 배열의 원소를 할당하고 난 후 해당 배열의 length 값을 출력해보면 위의 정의가 쉽게 이해될 것입니다. var newArr =[]; console.log(newArr.length); newArr[0] = 10; newArr[1] = 20; newArr[99] = 999; c..
5. Javascript 배열 (1) - 배열의 특성 Javascript 배열의 특징과 배열 리터럴 자바스크립트의 배열은 타 언어의 배열과 달리 크기 지정이 필요 없고, 저장 위치에서 자유롭습니다. 우선 이에 따라 기본적인 배열 생성 방식에 대해 알아보겠습니다. 앞서 살펴본 객체 리터럴과 마찬가지의 방법으로, 배열 리터럴을 통해 배열을 생성할 수 있습니다. 배열 리터럴은 객체와 달리 대괄호( '[ ]' )를 사용합니다. 배열 리터럴을 통해 원소 3개를 가진 배열을 선언하고, 각 원소를 출력해 보겠습니다. var newArr = [ 'one', 'two', 'three' ]; console.log(newArr[0]); console.log(newArr[1]); console.log(newArr[2]); 대괄호를 이용해 각 원소를 선언하고, 이후에 인덱스 넘버..
4. Javascript 프로토타입([[Prototype]]) Javascript의 프로토타입 자바스크립트의 모든 객체는 프로토타입 객체를 갖습니다. 이는, 일반적인 객체지향 언어에서의 상속 개념과 거의 동일하고 부모 객체의 프로퍼티를 그대로 사용할 수 있다는 특성을 보여줍니다. 이 프로토타입은 Javascript에서 객체가 생성되는 시점에 일정한 규칙에 따라 정해집니다. 객체가 생성되는 방식도 여러가지 경우의 수가 존재하기 때문에, 이에 따른 생성 규칙은 추후에 알아보겠습니다. 우선은 객체 리터럴 방식으로 객체를 생성한 후, 프로토타입에 대해서 알아보겠습니다. var newObj = { age : 20, name : 'John Doe' }; console.log(newObj.toString()); console.dir(newObj); 위와 같이 newObj 객체를..