This week I learned 1

_·2020년 4월 16일
0

<1-1> Velog 사용법

:: https://velog.io/@jinuku/Velog-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EB%B2%95

상기의 링크를 통해 게시글 쓰는 것을 연습해보았으나, 사용방법이 머리에 딱히 들어오지 않아 결국 계속 보면서 써야 한다..
< b r / > 과 같은 태그가 그대로 적용되어서 이런 부분은 편하다.

  • velog 게시글의 html 태그 사용 가능

<2-1> Javascript 기초

:: https://javascript.info/hello-world

여태 html 양식에 자바스크립트 파일을 분리하지 않을 정도의 귀찮은 임시 코드들을 이렇게 작성해왔으나, 그럴 필요가 없었다.

  • script 태그의 속성 ( type, language )는 이제 더 이상 필요없다.

<2-2> "use strict"

:: https://javascript.info/strict-mode
:: https://blog.aliencube.org/ko/2014/01/02/reasons-behind-using-strict-mode-while-coding-javascript/
:: http://theeye.pe.kr/archives/2868

자바스크립트 엔진이 느슨하게 문법을 확인하는 걸 엄격하게 검사하도록 해주는 것 같다.

const print = text => console.log(text);
if(typeof alert === "undefined") {
    function alert(text) { console.log("alert : " + text) };
}

nodejs에서 자바스크립트를 공부할 때, 외부에서 html 기준으로 작성된 자바스크립트 코드를 긁어올 때 alert()가 정의되어있지 않아
상기의 코드 블럭에 작성된 코드를, 작성할 코드부 최상위에 두곤 했다.

그런데, "use strict"를 선언하면 저 꼼수가 안된다.

const print = text => console.log(text);
if(typeof alert === "undefined") {
    var alert = text => console.log("alert : " + text);
}

var 사용을 지양하려 했으나, 별 뾰족한 수 없이 상기의 코드블럭과 같이 사용하게 되었다.


<2-3> 스코프 ( scope )

:: https://medium.com/@yeon22/javascript-%EC%8A%A4%EC%BD%94%ED%94%84-scope-%EB%9E%80-bc761cba1023

  • scope : 변수에 접근할 수 있는 범위.
  • 블록 스코프 : 중괄호 {} ( 블록 )로 감싸진 범위.
  • 함수 스코프 : 블록 스코프 중에서 함수의 블록 범위를 갖는 스코프.

<2-4> 호이스팅 ( hoisting )

:: https://javascript.info/var
:: https://asfirstalways.tistory.com/197

  • 호이스팅 : 변수 또는 함수의 선언부를 선언된 범위의 최상위로 이동.

단, var 타입으로는 잘 되지만 const, let은 안되고, 함수 표현식 역시 객체 리터럴로 할당하므로 되지 않는다.

preload();
function preload(){
  ...
}

--> 

function preload(){
  ...
}
preload();


profile
_

0개의 댓글