본문 바로가기

개발 관련/JavaScript

(6)
주소 창 parameter 지우기 가끔 새 창을 띄울 때, 주소 뒤에 파라미터 값들이 지저분하게 노출되는 것을 볼 수 있다. 이 파라미터 값을 없애려면, 다음과 같이 하면 된다. history.replaceState({}, null, location.pathname);
함수 1. 함수 리터럴 자바스크립트에서는 함수도 일반 객체처럼 값으로 취급된다. 다음과 같이 test라는 이름의 함수를 정의해 보자. function test(){ // 함수 내용 } 함수는 function이라는 키워드로 생성한다. 함수명은 일단 test라고 임의로 지었으나, 적절한 이름으로 지어주면 된다 매개변수는 함수명 test 뒤 소괄호()에 적어준다. 2. 함수 선언문 방식으로 함수 생성하기 함수 선언문 방식은 1번에서 설명한 함수 리터럴 형태와 같다. 단, 함수 선언문 방식으로 정의된 함수의 경우 반드시 함수명이 정의되어 있어야 한다. 다음과 같이 함수를 정의하고, 호출해보자. function add(x, y){ return x + y; } console.log(add(3,4)); // 7 3. 함수..
연산자 1. + 연산자 + 연산자는 다음과 같은 기능을 수행한다. 더하기 연산 문자열 연결 연산 var addNum = 1 + 2; console.log(addNum); // 출력값: 3 var addString = 'test' + 'string'; console.log(addString); // 출력값 : teststring var stringNum = 'test' + 2; console.log(stringNum); // 출력값 : test2 var numString = 2 + 'test'; console.log(numString); // 출력값: 2test 위와 같이 두 연산자가 모두 숫자일 경우에만 더하기 연산이 수행되고, 나머지는 문자열 연결이 이루어진다. 2. typeof 연산자 앞서 배열에서 살펴봤듯..
배열 1. 자바스크립트에서 배열이란 자바스크립트에서 배열은 C나 자바의 배열과 같은 기능을 하지만, 이들과는 다르게 굳이 크기를 지정하지 않아도 되며, 어떤 위치에 어느 타입의 데이터를 저장하더라도 에러가 발생하지 않는다. 2. 배열 생성하기 배열 리터럴은 자바스크립트에서 새로운 배열을 만드는 데 사용하는 표기법이다. 객체 리터럴이 중괄호({})로 생성했다면, 배열은 대괄호([])를 사용한다. 다음과 같이 말이다. var newArray = ['java', 'c', 'python', 'ruby', 'go']; console.log(newArray[0]); // java 출력 console.log(newArray[2]); // python 출력 console.log(newArray[3]); // ruby 출력 ..
call by value와 call by reference 1. call by value 기본 타입의 경우, 값에 의한 호출, 즉 call by value 방식은 함수 호출 시 인자로 기본 타입의 값을 넘겨, 호출된 함수의 매개변수로 복사된 값이 전달된다. 복사된 값이 전달되기 때문에 함수 내부에서 매개변수를 이용해 값을 변경해도, 실제로 호출된 변수의 값이 변경되지는 않는다. 2. call by reference 앞서 말한 값에 의한 호출과는 달리, 객체와 같은 참조 타입의 경우, 참조에 의한 호출 방식으로 동작한다. 즉, 함수를 호출할 때 인자로 참조타입인 객체를 전달할 경우, 객체의 프로퍼티값이 함수의 매개변수로 복사되지 않는다. 전달되는 값은 인자로 넘긴 객체의 참조값이다. 때문에 함수 내부에서 참조값을 이용해서 인자로 넘긴 실제 객체의 값을 변경할 수 ..
자바스크립트 핵심 개념 1. 객체 자바스크립트의 거의 모든 것은 객체이다. 기본 데이터 타입인 boolean, number, string, 그리고 특별한 값인 null, undefined을 제외한 나머지는 모두 객체이다. 하지만, boolean, number, string의 세 가지 기본 데이터 타입은 모두 객체처럼 다룰 수도 있다. 때문에, 자바스크립트는 null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다. 2. 함수 자바스크립트에서는 함수도 객체로 취급된다. 3. 프로토타입(Prototype) 모든 객체는 숨겨진 링크인 프로토타입을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다. 4. 실행 컨텍스트와 클로저 자바스크립트는 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이..