JS (Java Script) 80

전역변수

전역변수. 전역에서 쓰이는 변수라는 말. let name = '홍길동' ; var age = 30; 보통 이런식으로 많이 사용한다. 그런데 이런 방법도 있다. window.name = '홍길동'; window.age = 30; window.으로 선언하는 방법이 더 권장된다. 이유는 변수가 정말 많아졌을때 한눈에 이건 전역변수구나 라고 알 수 있기 때문이다. 추가로 일반적인 변수 선언 방법으로 변수를 만들때에 var 키워드를 쓰면 해당 변수가 window 에도 보관이 된다. let 키워드를 쓰면 window에 해당 변수 보관되지 않음. 추가로 var는 전역변수 이기 때문에 for 반복문 안에서 변수 설정을 var 키워드로 하게 되면 이런 문제가 생긴다. for(var i = 1; i

JS (Java Script) 2023.09.05

변수와 함수의 Hoisting 현상

이게 뭐냐면, 변수의 선언을 변수 범위 맨 위로 끌고오는 현상이다. (함수 또한 마찬가지.) 변수를 만나게 되면, 선언한 부분만 떼어내 강제로 맨 위로 끌어올린다. function 함수(){ console.log('hello') var 이름 = 'kim'; } 이런 코드가 있을때, 아래와 같이 동작한다. function 함수(){ var 이름; console.log('hello') 이름 = 'kim'; } 그래서 이런 현상이 나타난다. function 함수(){ console.log(이름); // 결과값은 undefined 출력. var 이름 = 'kim'; console.log(이름); // 'kim' 출력. } 아직 변수 선언을 안했는데 먼저 출력한다고 인식하기 때문 인가 싶을 수 있지만, 그런 경우..

JS (Java Script) 2023.09.05

object 값을 변경하기, 혹은 변경하지 못하게 하기.

//만약 object의 값을 변경 하려면 const 오브젝트이름 = { name: 'lee' }; 오브젝트이름.name = 'park' console.log(오브젝트이름) //만약 object의 값을 변경 불가능 하게 하려면 Object.freeze(오브젝트이름); 그냥 하면 에러는 안나고, 엄격모드 실행하면 에러남. (use stritc 사용하면) 자바스크립트 기본함수. 그러나 오브젝트 안의 오브젝트 까지 freeze 해주지는 않는다.

JS (Java Script) 2023.09.04

this 에 대해서

this 는 상황에 따라서 의미가 바뀐다. 1. 그냥 쓰거나 일반 함수 안에서 쓴다면 window 라는 의미로 쓰인다. 그런데 만약 엄격모드, 즉 use strict 모드에서 일반함수 내에 this를 사용하면 this는 undefined 이 된다. --- window 란? --- window 란 자바스크립트 기본 함수들을 가지고 있는 object 이다. 자바스크립트 에서는 { window} 라는 기본 오브젝트가 있고, 그 안에 함수나 변수를 보관한다. 이거를 global object 라고 한다. (전역변수 보관소) 또한, window는 자바스크립트 기본 함수모음. HTML DOM 이라는 것도 맞는말이다. 그래서 함수() 이렇게 호출하는 것과, window.함수() 이렇게 호출하는 것이 같다. 2. 오브젝..

JS (Java Script) 2023.09.04

프로토콜 도메인 경로 정리.

프로토콜://도메인/경로 ☑️ 프로토콜(protocol): 웹 브라우저와 웹 서버 간의 통신 방식을 지정합니다. 가장 일반적으로 사용되는 프로토콜은 "http://"와 "https://"입니다. ☑️ 도메인(domain): 인터넷 상에서 고유한 식별자로 사용되는 웹 사이트의 주소입니다. 도메인은 일반적으로 사이트의 이름과 최상위 도메인(Top-Level Domain, 예: .com, .org)으로 구성됩니다. ☑️ 경로(path): 웹 사이트 내에서 특정 페이지나 파일의 위치를 지정합니다. 경로는 슬래시("/")로 구분된 디렉토리 경로와 파일명으로 구성됩니다.

JS (Java Script) 2023.09.04

데이터 베이스 (feat. 파이어 베이스_ 파이어 스토어)

데이터 베이스란? 데이터를 저장하고, 관리하고, 꺼내사용할 수 있는 데이터의 모음. 장점 _ 정보를 빠르게 찾고, 업데이트 할 수 있다. _ 많은 양의 정보를 효율적으로 관리할 수 있다. 관계형(SQL)과 비관계형(NoSQL)이 있고, 비관계형은 좀더 자유롭다. 파이어스토어 (Firestore) 란? 구글의 클라우드 기반 NoSQL 데이터베이스. 데이터저장소. 컬렉션(Collection): 서랍장 그룹. 특정한 주제 또는 유형으로 문서들이 그룹화되어 있다. 문서(Document): 서랍 안에 들어있는 작은 종이. 하나의 종이는 여러 개의 필드(Field)로 구성. 필드(Field): 종이 안에 있는 데이터의 작은 부분. key, value 형태. 파이어스토어 데이터베이스 시작해보기 빌드에서 Firesto..

JS (Java Script) 2023.09.04

e.originalEvent.dataTransfer.setData()

e.originalEvent jQuery 에서 어떤 이벤트 처리할때 W3C 표준에 맞게 정규화 한 새로운 객체를 생성해 전달한다. 이 정규화 된 jQuer.Event 객체 덕분에, 브라우저 별로 차이가 있는 이벤트에 대해 동일한 방법으로 사용이 가능하다. 이것을 우리는 크로싱 브라우저 지원 이라고 한다. 실제 브라우저에서 발생한 이벤트 객체인 순수한 DOM 이벤트 객체는 '네이티브 객체', 혹은 '브라우저 내장 객체' 라고 한다. 이 가공되지 않은 '브라우저 내장 객체'는 표준화 된 객체보다 더 많은 정보를 가지고 있다. 그리고 e.originalEvent 속성을 이용해서 '브라우저 내장 객체' 에 접근 할 수 있다. .dataTransfer.setData('이름', 저장하려는 데이터) 드래그 앤 드롭 ..

JS (Java Script) 2023.08.31