프로그래밍/JavaScript
-
[JavaScript] 변수 호이스팅이란 무엇인가?프로그래밍/JavaScript 2022. 2. 14. 17:10
변수 호이스팅 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트의 특징 보통 우리는 코드를 짤 때 변수를 먼저 선언하고 -> 그 변수를 이용한 로직을 짠다. 만약 반대로 짠다면 해당 변수가 없단느 에러가 뜰 것이다 var score; // 변수 선언 console.log(score); // 변수 사용 그러나 자바스크립트는 그 반대!도 동작한다 console.log(score); var score;// 후 선언! // undefined 그 이유는 변수 선언이 코드가 순차적으로 실행되는 시점(런타임)이 아니라 그 이전 단계에서 먼저 실행되기 때문이다! 이런 것처럼 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다! 그렇다면! con..
-
[JS] 자바스크립트 기본 - 변수와 상수프로그래밍/JavaScript 2021. 4. 28. 16:44
변수 // 변수 선언 let message; // 변수 할당 message = 'Hello'; // 합치기 let message = 'Hello'; // 여러개도 가능 let user = 'John', age = 25, message = 'Hello'; let 대신 var을 사용할 수도 있지만 var은 오래된 방식이다. 변수는 딱 한번만 선언해야 한다. 똑같은 변수명으로 두번 선언할 수 없다. 변수명은 오직 문자와 숫자, 그리고 기호 $와 _만 들어갈 수 있다. 또한 첫 글자는 숫자일 수 없다. 여러 단어를 조합하여 변수명을 만들 때에는 카멜 표기법이 사용된다. // 여러 단어를 조합할 때 첫 단어를 제외한 나머지의 첫글자를 대문자로 작성하는 방법 let userName; 자바스크립트는 대소문자를 구별한..
-
[JS] 자바스크립트 기본 - 코드 구조프로그래밍/JavaScript 2021. 4. 27. 22:14
코드 구조 세미콜론 대부분의 경우, 줄 바꿈이 있으면 자바스크립트는 '암시적' 세미콜론으로 해석하여 세미콜론을 따로 적지 않아도 된다. 하지만 대괄호 [ ]의 앞부분 등 인식하지 못하는 경우도 존재! 그러므로 세미콜론을 사용하는 것이 좋다. 주석 한줄 주석은 // 여러 줄은 /* */ use strict 지시자 기존 기능에 변경된 사항들을 활성화 하는 것 (엄격모드) 호환성 이슈 때문에 활성화 하지 않았던 것들을 활성화 시키는 지시자이다. 맨 상단에 "use strict"; 위치 시킬 것. 또한 일단 엄격모드가 실행되면 되돌릴 수 없다. (클래스와 함수를 사용한다면 이미 use strict가 적용되었기 때문에 따로 명시할 필요가 없다)
-
[node] 노드 기능 알아보기프로그래밍/JavaScript 2021. 3. 2. 21:30
REPL - read, eval, print, loop 모듈 // var.js const odd = '홀수입니다'; const even = '짝수입니다'; module.exports = { // 해당 파일을 모듈로서 사용 가능하게 한다. odd, even, }; // func.js const { odd, even } = require('./var'); // var 파일에서 가져옴 function checkOddOrEven(num) { if(num%2){ return odd; } return even; } module.exports = checkOddOrEven; // index.js const { odd, even } = require('./var'); const checkNumber = require(..
-
[JS] 자바스크립트 기본 문법 정리프로그래밍/JavaScript 2021. 2. 27. 14:59
변수 차이점 var 함수 스코프이기 때문에 블록 안에서 정의했어도 밖에서 사용 가능 const, let 블록 스코프를 가지므로 블록 밖에서는 접근 불가능 코드 관리가 수월해짐 const const는 한번 대입하면 다른 값 대입 불가 let let은 다른 값 재할당 가능 템플릿 문자열 string2 = `${num3} 더하기 ${num4}는 '${result2}'`; # 1 더하기 2는 '3' 객체 리터럴 const es = 'ES' const newObject = { sayJS(){ // sayJS: function()으로 정의할 필요 없이 가능 console.log('JS'); }, sayNode, [es + 6]: 'Fantastic', // 객체 리터럴 안에서 가능 }; console.log(new..
-
[node.js] version 에러프로그래밍/JavaScript 2021. 2. 15. 14:42
theia를 실행시키기 위해 yarn을 실행하면 pty.target.mk:111 : recipe for target 'Release/obj.target/pty/src/unix/pty.o' failed 다음과 같은 에러 발생.. 구글링 해보니 버전 문제라고 해서 v12에서 v10으로 낮추면 > nvm use 10 error p-debounce@3.0.1: The engine "node" is incompatible with this module. Expected version ">=12". Got "10.23.3" 악!!!!!!!!!!!!!!!!!!!