Programming (465) 썸네일형 리스트형 7. Javascript 함수 (2) - 함수의 객체 특성 2 앞서 살펴본 아티클에서, Javascript 함수의 객체로서의 특징을 살펴보았습니다. 이번 아티클에서는 값으로서 취급되는 함수의 특성을 살펴보도록 하겠습니다. 분류해서 살펴보겠지만, 결국 앞서 살펴본 값들을 사용하는 패턴에 함수를 그대로 적용시킬 수 있다는 정도의 의미로 이해해주시면 됩니다. 변수 or 프로퍼티의 값으로 할당할 수 있다 함수는 숫자, 문자열과 같은 값과 마찬가지로 변수나 프로퍼티의 값으로서 할당할 수 있게 됩니다. 객체의 원소로도 할당이 가능합니다. 예제를 통해 살펴봅시다. var val = 2874; var funcVar = function() { return 'This is a function.'; } console.log(funcVar()); var objVar = {}; objVa.. 7. Javascript 함수 (2) - 함수의 객체 특성 1 함수도 '객체'입니다 Javascript에서 기억해둬야 할 주요 특성 중 하나, 바로 "함수도 객체이다"라는 정의입니다. 우선, 함수가 "객체"라는 정의로 인해서 우리가 기억해 두어야 할 특성은 뭐가 있을까요? 하나씩 살펴보도록 하겠습니다. 함수도 프로퍼티를 갖습니다 앞서 배운것과 마찬가지로, 함수도 객체이므로 Javascript에서 통용되는 객체의 프로퍼티를 똑같이 가질 수 있습니다. 사용법도 동일합니다. 즉, 함수는 함수로서의 기능을 추가로 갖는 객체라고 생각해도 무방합니다. 특히, 함수의 경우 우리가 흔히 할당하여 사용하는 프로퍼티외에 [[Code]] 프로퍼티를 갖게됩니다. 이 프로퍼티 내에 함수로서의 기능을 수행하는 선언문이 할당되어 함수로서 기능을 하게 됩니다. 아래 예제를 통해 함수 객체의 프.. 7. Javascript 함수 (1) - 함수 선언 2 함수 표현식에서의 기명 함수 사용 앞서 함수 표현식에서의 익명함수에서 설명했듯이, 함수 표현식에서 사용되는 함수명은 코드 외부에서는 사용이 불가하기 때문에 실제로 사용되는 일은 많지 않습니다. 대부분 함수 변수를 통해 실행하게 됩니다. 단, 기명 함수를 대입하여 사용하는 경우가 있는데, 대표적인 사용 케이스가 재귀적 호출이 필요한 경우입니다. 즉, 함수 변수에 대입한 함수의 선언문 내부에서 함수 자기 자신을 다시 한 번 호출해야 하는 경우가 있을 때 해당 기명 함수를 사용하게 되는 것 입니다. 아래 대표적인 예제인 팩토리얼 함수 구현을 살펴보겠습니다. var factorialVar = function factorial(n) { if( n 7. Javascript 함수 (1) - 함수 선언 1 함수 선언문(Function Statement) Javascript에서 함수 선언문 형태로 함수를 선언할 경우, function 키워드 / 함수명 / 매개변수 리스트 / 몸체를 작성해 수행하고자 하는 함수를 선언하게 됩니다. 이때, 선언문 형태에서는 함수명이 반드시 있어야 합니다(즉, 익명 함수를 선언문 형태로 작성할 수 없습니다). 타 OOP 언어들과의 함수 리터럴의 차이점은, 리턴하는 데이터 타입과 매개변수의 데이터 타입을 정의하지 않는다는 점입니다. 아래 예시를 통해 함수 선언문의 구성 요소를 살펴보겠습니다. function plus(x, y) { return x + y; } console.log(plus(24, 88)); // 112 함수 표현식(Function Expression) Javascr.. 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와 일반 객체.. 이전 1 ··· 54 55 56 57 58 59 다음