목록js (3)
결국엔 프로그래밍
노드는 코드를 모듈로 만들 수 있다. 이 점에서 브라우저의 자바스크립트와 차이가 있다. 모듈 특정한 기능을 하는 함수나 변수들의 집합 모듈은 모듈 자체로도 하나의 프로그램이지만, 다른 프로그램의 부품으로도 사용된다. 3가지 자바스크립트 파일의 예시를 통해 자세히 살펴보자면, var.js 파일 const odd = '홀수입니다.'; const even = '짝수입니다.'; module.exports = { odd, even, }; func.js 파일 const { odd, even } = require('./var'); function check(num){ if(num%2){ return odd; } return even; } module.exports = check; index.js 파일 const { ..
함수에서 파라미터로 받아온 객체 내부의 값을 조회할 때, 구조 분해 할당(비구조화 할당)을 사용하면 더 간결하게 코드를 작성할 수 있다. // 함수에서 객체를 파라미터로 받기 function print(hero) { const text = `${hero.alias}(${hero.name}) 역할을 맡은 배우는 ${ hero.actor } 입니다.`; console.log(text); } 위와 같이 함수에서 객체를 매개변수로 받아 호출하는 경우 복잡한 코드('객체.요소' 형태)를 작성해야 하지만, // 구조 분해 할당을 활용 (변수 선언) function print(hero) { const { alias, name, actor } = hero; const text = `${alias}(${name}) 역할..
var number = 1; 이런식으로 변수를 선언 할 수 있는 var 이라는 키워드가 있다. 기존에는 변수 선언이 var로만 가능했으나 ES6 이후 더 이상 사용하지 않는다. 대신 let과 const를 사용한다. var은 let과 달리 똑같은 이름으로 여러번 선언을 할 수 있고, 사용할 수 있는 범위가 다르다. var의 단점 1. 정의된 변수가 함수 스코프를 가진다. 2. var 변수를 코드 가장 바깥에 정의했을시 전역 변수가 된다. 3. 반복문에서 정의된 변수가 반복문이 끝난 후에도 계속 남아있다. 4. 호이스팅(hoisting) : var로 정의된 변수는 그 변수가 속한 스코프의 최상단으로 끌어올려진다. 5. 한번 정의된 변수를 재정의 할 수 있다. 6. 재 할당 가능한 변수로 밖에 만들 수 없다...