javascript
-
[JavaScript] Call by Value, Call by Reference카테고리 없음 2020. 2. 20. 22:59
* Call by Value : 값에 의한 호출 CBV의 특징은 값이 '그대로' 복사(deep copy)된다는 점이다. 즉, 같은 값을 가진 데이터가 메모리에 또 하나 만들어져 저장되는 것이다. // call by value let x = 2; let y = x; y = 3 x === y // false (x = 2, y = 3) 코드 네 번째 줄을 보면, y에 x의 값이 할당되어 있다. x의 값을 복사(deep copy)해서 y에 할당한 것이다. x와 y의 값은 각각 별개이므로 y값의 변화가 x에 전혀 영향을 미치지 않는다. 따라서 x===y 의 불린값은 false가 된다 (x = 2, y = 3) * Call by Reference : 참조에 의한 호출 CBR의 특징은 변수에 값이 복사되는 것이 아니..
-
[JavaScript] 런타임, NVM, NPM카테고리 없음 2020. 2. 20. 20:42
*런타임(Runtime) 런타임이란 프로그램이 구동되는 환경을 의미한다. 일반적으로 자바스크립트는 브라우저에서 실행된다. 이 때의 런타임은 브라우저가 된다. 자바스크립트가 꼭 브라우저에서만 실행되는 것은 아니다. Node라는 환경에서도 실행이 가능하다. .Node를 통해 자바스크립트로 서버 등 여러가 지 프로그램을 만드는 것이 가능해졌다. 같이 runNode.js 라는 파일 내 자바스크립트 코드를 작성했다. 이를 브라우저와 노드에서 각각 실행해볼 수 있다. //runNode.js function hey () { console.log('hello, node!') }; hey(); * 브라우저 실행 html 파일을 하나 만들고, 이를 //src에 파일 삽입 * Node 실행 터미널을 켜고, 아래에 다음 명령..
-
[JavaScript] 객체 지향 프로그래밍 (OOP)카테고리 없음 2020. 2. 6. 21:24
대표적인 프로그래밍 방법론으로 절차적 프로그래밍(Procedural Programming)이 있다. 순차적인 처리가 중요시되며, 프로그램 전체가 유기적으로 연결되어 있다. 컴퓨터의 처리구조와 유사해 빠른 실행이 장점이다. 예를 들어 점심으로 볶음밥을 만들기로 했다. 팬을 달구고, 계란, 야채 등 재료른 준비해 넣고, 밥을 넣어 볶는다. 이 모든 과정이 순차적으로 이루져야 할 것이다. 해야 할 행동을 코드로 나타내면 다음과 같다. console.log('팬을 달굽니다') console.log('재료를 넣습니다') console.log('재료를 다같이 볶아줍니다') 세 줄의 코드로 요리가 가능해진다. 그런데, 오늘 점심 뿐만 아니라 오늘 저녁도 볶음밥을 먹게 된다면 어떻게 될까? //점심 볶음밥 만들기 co..