[JS] 스코프 체인
2022. 8. 17. 17:13
개발이야기/JS
스코프 체인에 대해서 살펴보자. 스코프 체인을 알기전에 우리는 '스코프' 를 명확히 알아야 한다. 스코프란? 스코프는 변수명에 대한 유효범위이다. ⇒ 외부에서 선언한 변수는 외부 뿐 아니라 내부에서도 접근이 가능하지만 내부에서 선언된 변수는 오직 내부에서만 접근할 수 있다. 자바스크립트 es6 문법에서는 let과 const의 등장으로 블록에 의해서도 스코프 경계가 발생하게 함으로써 다른 언어와 비슷해졌다. 다만 이러한 블록은 var로 선언한 변수에 대해서는 작용하지 않고, 오직 let, const, strict mode에서의 함수 선언 등에 대해서만 범위로서의 역할을 수행한다. es6에서는 이 둘의 구분을 위해서 함수 스코프, 블록 스코프라는 말을 사용한다. (함수 스코프, 블록 스코프에 대해서는 var..
[JS] var, let, const 차이점
2022. 8. 17. 15:33
개발이야기/JS
var 함수 스코프를 가지고 있다. var는 함수 내부에서 선언했을때만 지역변수로 사용되고, 함수를 제외한 영역에서 var는 전역변수로 사용된다. 중복 선언도 가능하기때문에 같은 변수명을 사용해도 에러가 나지않는 경우가 발생하여 var는 사용을 하지 않는 것을 권장한다. function age(){ var a = 10; //이것만 지역변수 console.log(a); // 10 } age(); console.log(a); // error if(true) { var a = 10; console.log(a); // 10 } console.log(a); // 10 함수가 아니라서 var는 전역변수로 취급된다. 내부에서 선언된 변수에 외부접근이 가능하다. let, const 블록 스코프를 가지고 있다. let,..
[JS] null과 undefined의 차이점
2022. 8. 11. 23:10
개발이야기/JS
undefined는 선언은 되었지만 값이 들어있지 않는 상태이다. 자바스크립트 엔진은 사용자가 어떤 값을 지정할 것이라고 예상되는 상황임에도 그렇게 하지 않았을때 undefined를 반환하고. 다음 두가지가 이에 해당된다. 객체 내부의 존재하지 않는 프로퍼티로 접근할 때, 리턴문이 없거나 호출되지 않는 함수의 실행 결과일 때, undefined를 반환한다. null 은 사용자가 명시적으로 값이 없음을 표현할 때 사용한다.
크기만 작아지면 반응형 웹 일까?
2022. 8. 5. 05:18
개발이야기/TIL
반응형 웹에 대한 나의 생각을 남겨보도록한다. 반응형 웹이란 무엇일까? 간단하게 사이트의 크기를 사용자 화면 크기에 따라 줄었다, 늘었다 하는 것으로 사용자의 화면 크기에 반응한다고해서 반응형 웹 사이트라고 부르게 되었다. 하나의 웹사이트에서 PC,스마트폰,테플릿으로 접속하는 디스플레이의 종류에 따라 화면의 크기가 자동으로 변하도록 만드는 기술이다. 그럼 디스플레이 종류에 따라 단순히 크기만 변하면 반응형일까? 아직까지 두드러지는 반응형 모습은 PC버전 홈페이지를 만들고 모바일 버전의 적응형 웹을 따로 구축해서 관리하는 모습이다. 적응형 웹은 화면을 작게 만들고 내용을 축소해서 만드는 형태가 대부분으로 크기만 모바일, 테블릿 버전이기 때문에 더 자세한 내용을 보려면 하단에 위치한 PC버전 링크를 클릭해서..
웹 접근성에 대한 생각
2022. 8. 5. 03:32
개발이야기/TIL
semantic 태그란 의미가 있는 태그로, 이 의미가 있다는 건 무엇을 뜻하는지 생각해 보았다. 그렇게 알게된 점은 semantic 태그는 '웹 접근성' 과 밀접한 연관이 있고, 나의 생각과 의견을 정리해본다. 만약, 내가 열심히 만든 웹사이트에 사용자가 접근할 수 없다면 그 웹은 쓸모가 없어진다. 웹 사이트를 제작하는 목적은 매우 다양하지만 대부분 제품 판매, 서비스 제공, 홍보목적을 가질것인데, 사용자가 사이트에 방문을 안 한다면? (접근을 못 한다면?) 그 웹은 쓸모가 없어지는 것이다. 그렇기 때문에 웹 개발자라면 한 번쯤은 웹 접근성에 대해 생각해 봐야 한다. 그렇다면 내가 생각했을 때 접근성이 좋다란 무엇일까? 문서의 기본 언어를 설정하는 것. 브라우저에게 문서에서 어떤 언어를 사용할 것인지 ..