본문 바로가기
728x90
반응형

javascript37

구글 로그인 연동 보호되어 있는 글 입니다. 2023. 12. 15.
유저기능 보호되어 있는 글 입니다. 2023. 12. 11.
[javascript] Promise & Async/Await Promise 비동기를 간편하게 처리할 수 있도록 도와주는 오브젝트 정해진 기간의 기능을 수행하고나면 정상적으로 기능이 수행되면 성공의 메시지와 결과값을 전달하고기능을 수행하다가 예상치 못한 결과가 생겼다면 에러를 전달한다 자바스크립트의 클래스이다 state(상태) promise가 수행중이면 pending 상태임 promise가 수행이 종료되면 fullfilled가됨 promise가 수행중 오류가 발생하면 reject 2가지로 나눠짐 프로듀서 : 프로미스를 만들어서 제공하는 쪽 컨슈머 : 프로미스의 결과를 사용하는 쪽 구문) const promise = new Promise((resolve, reject)=>{ //생성자 resolve() //성공수행 reject() //성공실패수행 }); new 라는 .. 2023. 1. 24.
[javascript] Fetch API Fetch API 도 XMLHttpRequest와 비슷하게 서버로부터 데이터를 받아오고 전송하지만 가장 큰 차이점은 Fetch API는 Promise방식으로 구성되어있다 그리고!!!! XMLHttpRequest보다 훨~~~씬 더 간결하다!!!!!! 구문) fetch("https://jsonplaceholder.typicode.com/posts/1") .then(Response=>Response.json()) //요청받은걸 제이슨데이터로 변환 .then(json=>console.log(json)); //변환받은걸 then으로 받음 에러 핸들링 사용 했을 때 2023.01.24 - [javascript 고급문법] - [javascript] try...catch(에러 핸들링) 방법 1 fetch("http:/.. 2023. 1. 24.
[javascript] try...catch(에러 핸들링) 자바스크립트에서 오류는 try...catch문을 통해서 관리함 구문) try{ //code(코드에서 에러가 발생했다!!!) } catch(err){ //발생한 에러를 캐치에서 잡아줌 } 코드실행이 멈추지 않고 계속 진행하면서 에러를 잡아줌 콘솔을 잘 이용해야할거같당...후후 try 선언의 구성은 하나 이상의 try블록을 반드시 포함하며 catch블록과 finally블록 중 최소한 하나 혹은 둘다 포함하여 이루어짐 try...catch try...finally try...catch...finally try{ console.log("try 블럭 시작") throw new SyntaxError("구문이 틀렸어요: 다시작성") //SyntaxError 의도적으로 에러를 만들어줌 console.log("try 블.. 2023. 1. 24.
[javascript] XMLHttpRequest ● XMLHttpRequest(XHR) 서버와 통신을 하도록 하는 객체 1. 객체는 서버와 상호작용하기 위해 사용 2. 전체 페이지를 새로고침하지 않아도 URL을 통해 데이터를 전송하거나 받아 올수 있음 3. XML데이터 통신 x, 모든 종류의 데이터 받아올 수 있음 4. 객체는 브라우저에서 제공하는 API임 node.js환경x ● ajax(Asynchronous javascript and xml) 동적으로 서버에서 데이터를 주고받는 기술 ● XML - 마크업 언어 ● JSON(javascript object notation) 오브젝트를 보고 만든 데이터포멧 텍스트를 기반으로 하여 파일이 가벼움 데이터를 직렬화하여 전송할때 쓰이는 파일 프로그램 언어와 플랫폼에 상관 없이 사용가능함 모바일에서도 서버와 전.. 2023. 1. 23.
[javascript] this키워드 this 키워드는 사용되는 위치에 따라 this키워드에 바인드 된 객체가 달라짐! 콘솔에 this를 입력하면 console.log(this) 출력값 함수 안에 넣었을 때 function a() { console.log(this) } a() 출력값 this는 기본적으로 window를 가리킴!!!!!!!!! 객체 메서드 var obj = { a: function () { console.log(this) }} obj.a() 출력값 객체 메소드 a안의 this는 객체를 가리킴 이유는 객체의 메소드를 호출할 때 this를 내부적으로 바꿔주기 때문임 밑에 자료와 같이 바꿔주면 결과값 달라짐 명시적으로 this를 바꾸는 함수 메소드는 bind, call, apply를 사용하면 this가 객체를 가리킵니다 생성자일 경.. 2023. 1. 23.
[javascript] Modules 자바스크립트 모듈 1. Module은 코드를 관리하는 작은 단위 2. Module을 이용하면 코드관리와 재활용이 편리해짐 3. 자바스크립트 파일을 분리하고 사용하는 기술 *es6부터 import문과 export문이 추가됨 export 내보내기!!!! 지시자를 변수나 함수앞에 붙이면 다른 외부 모듈에서 해당 변수나 함수를 import해서 사용할 수 있음 선언부 앞에 export 변수, 함수, 클래스 앞에 export 붙일 수 있음 //함수 export function ss() { 실행 구문 } //변수 export let ss = 5; //클래스 export class user { constructor(name) { this.name = name } } 선언부와 떨어진 곳 //함수 function ss().. 2023. 1. 11.
[Javascript DOM]Scroll 이벤트 See the Pen Untitled by namminimi (@namminimi) on CodePen. 스크롤 이벤트 1) 스크롤값 반환 document.documentElement.scrollTop; ex)console.log(위에값) 2) document.addEvnetListener("scroll", function(){ 스크롤 될때 동작하는 코드 } 3)스크롤 위치 이동 - window.scrollTo(xpos, ypos) - window.scrollTo({top: 0, behavior: "smooth"}) scrollTo 메서드는 지정된 좌표로 스크롤해주는 기능(window는 생략가능) behavior의 값에는 auto, instant, smooth가 있다. (문자이므로 따옴표가 필요하다.) .. 2023. 1. 5.
[javascript]구조분해할당과 spread,rest 1. 배열의 요소를 직접 변수에 할당하는 것보다 코드를 줄일 수 있습니다. 2. , 를 사용하면 필요하지 않는 배열 요소는 제외시킬 수 있습니다 3. 할당할 값이 없을 때 기본값을 설정할 수 있음. 1. 배열구조분해할당 구문 let [new변수1, new변수2, new변수3] = 배열명 let fruits = ["🤦‍♂️", "🤦", "😁", "😢", "😎",] let [fruit1, fruit2, ...fruit3] = fruits; console.log(fruit1); //0번째 새로운 변수 출력 console.log(fruit2); //1번째 새로운 변수 출력 console.log(fruit3); //3번째 끝까지 새로운 변수 출력 let str1 = "green"; let str2 = "blue".. 2023. 1. 5.
[javascript]정규표현식 정규표현식 (regular expression) 정규표현식 문자열에서 특정문자를 찾아내는 도구 하나의 언어 자바스크립트 뿐 아니라 다른 언어에서도 다양하게 활용됨 문자열을 검색하고 대체하는데 사용하는 형식 언어패턴 정규표현식 문법 1. 그룹과 범위 문자 의미 | 또는 () 그룹 [] 문자셋 [^] 부정문자셋, 괄호안의 문자가 아닐때 2.빈도수 문자 의미 ? 0또는 1 * 0또는 1이상 + 1이상 {n} n번 반복 {min, } 최소 {min, max} 최소, 최대 3. 문자 문자 의미 . 어떤글자(줄바꿈 문자 제외) \d 숫자 \D 숫자아님 \w 문자 \W 문자아님 \s 공백 \S 공백아님 4. 경계영역 문자 의미 \b 단어경계 \B 단어경계가 아님 ^ 문장의 시작 $ 문장의 끝 5. 추가 문자 의미 g.. 2022. 12. 23.
[javascript]Window 객체 Window 객체 전역(Global) 객체입니다. 1) alert() 함수는 윈도우 화면에 경고 메시지를 출력합니다. 예시) alert("이것은 alert 창입니다"); 2022.12.04 - [javascript HTML DOM] - 화면에 나타내기(호출/출력) 2) confirm() 함수는 진행할지, 종료할지에 대한 진행 여부 확인 예시) if(confirm("정말 삭제하시겠습니까?")) { //삭제실행 console.log("삭제실행"); } 3) prompt() 함수는 문자열을 입력받을 수 있는 함수 예시) prompt("비밀번호를 입력하세요"); 4) window.open() 함수는 윈도우 새 창/ 새 탭으로 지정한 url을 오픈하는 함수 window.open("https://naver.com".. 2022. 12. 15.
[javascript]Math 객체 Math 객체 수학적인 상수와 내장 함수를 가진 객체임 1) Math.round(number) - 반올림 처리 Math.round(4.9) //returns 5 Math.round(4.2) //returns 4 Math.round(-4.2) //returns -4 2) Math.ceil(number) - 올림처리 Math.ceil(4.9) //returns 5 Math.ceil(4.2) //returns 5 Math.ceil(-4.2) //returns -4 3) Math.floor(number) - 내림처리 Math.floor(4.9) //returns 4 Math.floor(4.2) //returns 4 Math.floor(-4.2) //returns -5 4) Math.trunc(number) - .. 2022. 12. 15.
[javascript]Set 객체 Set 객체 배열(Array)처럼 값들의 집합입니다. 배열과 가장 큰 차이점은 Set은 중복 값을 허용하지 않음 (set은 중복을 허용하지 않는 값을 모아놓은 특별한 컬렉션) Set 생성자 let mySet = new Set(); 종류 설명 .add() 값을 추가 .delete() 값을 제거 .has() Set내에 값이 존재하면 true 리턴, 존재하지 않으면 false리턴 .clear() 저장되어 있는 모든 데이터를 한번에 삭제 .size Set요소의 갯수 .forEach() Set에 저장되는 모든 데이터를 읽을 때 사용 예시) let set = new Set(); //set 생성 let person1 = {name : "재훈"}; //변수 선언 let person2 = {name : "수민"}; //.. 2022. 12. 15.
[javascript]Data 객체 Data 객체와 날짜 날짜를 저장할 수 있고 날짜과 관련된 메소드를 제공해주는 내장객체임 객체 생성하기 new Date() //현재 날짜와 시간이 저장된 객체가 반환됨 new Date(milliseconds) new Date("2022-02-06") new Date(year, month, date, hours, minutes, seconds, ms) year, month만 필수 입력, 나머지는 선택입력 year는 반드시 네자리 숫자여야함 ex) 1998 month 0 ~ 11 사이의 숫자여야함. 이때 1월은 0이고, 12월은 11입니다. date는 일을 나타내는데, 값이 없는 경우 1일로 처리 hours, minutes, seconds, ms에 값이 없는 경우 0으로 처리 ● Get 함수 함수 설명 ge.. 2022. 12. 14.
[javascript]BOM(Browser Object Model) 1. navigator ▶ 사용자의 브라우져와 운영체제 정보를 제공하는 객체 종류 설명 navigator.appCodeName 방문자 브라우져 코드명을 반환 navigator.appName 방문자의 브라우져 이름을 반환 navigator.appVersion 방문자의 브라우져 버전 정보를 반환 navigator.language 방문자의 브라우져 사용언어를 반환 navigator.userAgent 방문자의 브라우져와 운영체제 종합 정보를 제공 navigator.platform 방문자의 브라우져를 실행하는 운영체제를 반환 navigator.product 방문자의 브라우져 사용 엔진 이름 반환 2. history ▶ 사용자가 방문한 사이트와 다음 방문한 사이트로 다시 돌아 갈 수 있는 속성과 메소드를 제공 종류.. 2022. 12. 14.
[javascript]Array 객체 배열 : 인덱스를 이용해 값을 식별할 수 있는 자료 구조 인덱스 : 배열내에서 순서를 나타냄 배열 선언!!!! let arr = []; let arr = new Array(); let arr = [a , b, c]; 배열 접근 arr[0]; 배열에 담긴 요소의 개수 arr.length 1. toString() 메소드는 배열안의 모든 문자를 쉼표( , )를 이용해 모두 결합 하나의 문자열 예시) let fruits = ["Banana", "Orange"] let str = fruits.toString(); console.log(str); //Banana,Orange 2. join() 메소드는 배열안의 모든 문자를 파라미터로 지정한 문자를 이용해서 모두 결합해서 하나의 문자열로 반환 (요약하면 배열을 문자열.. 2022. 12. 14.
[javascript]Number 객체 몇가지 더 있지만 자주사용하는것만 올림. 1. parseInt() 전역 함수로서 정수로 반환합니다. 문자열의 시작이 숫자형이면 숫자형 데이터로 반환합니다. parseInt("-10") //-10 parseInt("-12.33") //-12 parseInt("10 20 30") //10 parseInt("10 years") //10 2. parseFloat() 전역함수로서 부동소수점으로 반환함 parseFloat("10"); //10 parseFloat("12.33"); //12.33 parseFloat("10 20 30"); //10 parseFloat("10 years"); //10 parseFloat("years 10"); //NaN 3. Number.isInteger() 전달된 값이 정수인지를 검사.. 2022. 12. 13.
[javascript]String 객체 1. .length -- 자주사용 문자열의 길이를 반환하는 함수 let str = "green"; let z = str.length; console.log(z); 5 //g:0번째 n:4번째 0 ~ 4니깐 총 길이는 5 2. .indexOf() 특정 문자열 안에 해당문자가 존재하는지 문자 맨앞에서부터 확인 존재하면 시작하는 index를 반환하고 해당 문자 없으면 -1을 반환 let str1 = "안녕하세요 오늘은 금요알입니다. 금요일 입니다" console.log(str1.indexOf("금요일")) 18 //해당 문자는 18번째에 있어서 18출력 3. .lastIndexOf() 특정 문자열 안에 해당문자가 존재하는지 문자 맨뒤에서부터 확인 존재하면 시작하는 index를 반환하고 해당 문자 없으면 -1을.. 2022. 12. 11.
[javascript]Object 객체 객체 (object) Object 객체는 모든 자바스크립트 객체의 루트 객체 기본타입(number, string등등)을 뺀 나머지는 전부 객체타입 프로퍼티(property) 는 속성이란 뜻!!!! 자바스크립트에서는 객체 내부의 속성을 의미한다. 프로퍼티는 key : value 의 형식으로 객체안에 있음 프로퍼티가 2개 이상 있으면(,) 구분 key는 속성명, value는 속성값이라고 함!!! 문자열, 숫자 객체 함수 등등 값으로 와도 상관없다. 함수가 올 경우 속성값이라 하지 않고 메서드라고 부름!!! 객체는 key로 value값 접근 가능!!!!!! ▶ 객체 리터럴 선언(붕어빵을 만들기 위한 틀이라고 생각하면됨 let obj2 = {} let stu1 = { name: "a", age: 20, scor.. 2022. 12. 6.
캔버스(canvas) 캔버스 : 자바스크립트를 이용하여 일러스트와 그림판처럼 화면에 선을 그릴 수 있다. 순서 1. 캔버스 요소찾기 let canvas = document.querySelector("canvas"); 2. 드로잉 객체 생성 let ctx = canvas.getContext("2d"); //2d ,3d 정할수 있음 ▶ getContext()함수는 드로잉에 필요한 속성과 함수를 가진 객체를 생성함 3. 캔버스에 그리기↓ ▶ 사각형 그리기!!!!!! 1) fillRect(x, y, width, height) ▶ 색칠된 사각형 그리기 ctx.fillRect(100, 50, 100, 100); 2) strokeRect(x, y, width, height) ▶ 윤곽선으로만 사각형 그리기 ctx.strokeRect(200.. 2022. 12. 5.
[javascript]함수(function( )) 함수 (기능적인 얘들, 동사) 프로그램으로 작성할 때 반복적으로 수행하는 일을 함수로 만든다. 서브 프로그램 프로그램안에서 각각의 기능을 수행함 input을 받아서 잘 처리한 다음 output을 리턴해줌 변수에 담을 수 도 있고 함수를 리턴할 수도 있다 function은 object이다. 예시) 기능(딸기와 빵을 빵기계에 넣으면 딸기 빵).... ▶함수 구성요소 1. 함수 이름 2. 괄호 안 쉼표(,)로 구분되는 매개변수(parameter) 3. 중괄호{}로 둘러싸인 실행 ▶문법 ↓(밀가루가 들어가는 투입구(input))↓ function 함수 이름(매개변수 1, 매개변수 2,...) { 함수가 호출되었을 때 실행하고자 하는 실행문; return(output) a(딸기) + b(빵); } !!!함수에는 .. 2022. 12. 4.
[javascript]반복문2(for, for-in, for-of, .forEach) 1. for for문은 실생활에서 제한횟수가 있는 곳에 사용됨 for(초기값; 조건; 증감) { 반복할 코드 } 예시) for (let i = 0; i < 10; i++) { console.log(i) // 0 ~ 9 까지 콘솔에 출력됨 } 2. for-in 문 객체에 사용할 수 있음 객체의 key값과 value값을 반환하는데 유용함 for(key in 객체) { 객체의 프로퍼티의 갯수만큼 반복됨 } ▶ 프로퍼티는 객체의 key - value 임 예시) let object1 = { name: "룰루", age: 27, job: student } for(let a in object1) { console.log(a) } name age job //key값 출력됨 3. for- of 문 컬렉션 전용임 모든 객.. 2022. 12. 4.
[javascript]반복문1 (while, do-while) 1. while 사용되는 예시: 제한횟수가 없음 false가 나올때 까지 반복 while(true) { 실행 } 예시) let i = 0 // i 변수 선언 및 0값 할당 while(i = 11) { // 조건 : i 값이 11과 같거나 클 경우 break; // 멈춤 } } 주의!!! while문에 증감연산자를 사용하지 않을 경우 무한 반복함 2. do while do { 실행문 } while(표현식) 예시) let x = 3 do { console.log("먼저 실행됩니다"); //먼저 콘솔에 출력 x++; // x값 +1증가 } while (x >.. 2022. 12. 4.
[javascript]조건문(if, switch) 1. if 조건문 if(표현식) { 표현식이 true 면 실행 } 예시) let x = 3; if(x > 0) { //조건: x가 0보다 크면!!! console.log("true") //실행: 콘솔에 true를 출력하라 } true //x > 0이라는 조건이 맞기때문에 true가 출력됨 2. else 문 if (표현식) { 표현식이 true 면 실행 } else { 표현식이 false면 실행 } 예시) let x = 3; if(x < 0) { //조건: x가 0보다 작으면!!! console.log("true") //실행: 콘솔에 true를 출력하라 } else { //위 조건이 맞지 않다면!!! console.log("false") //실행: 콘솔에 false를 출력하라 } false //if문에서 .. 2022. 12. 4.
[javascript]연산자 1.산술 연산자 + , - , * , / , % , ** 2.증감, 감소연산자 ++(변수값을 1씩 증가 시킴) --(변수값을 1씩 감소 시킴) ++number 전위증감연산자(전위형) let x = 0; let y = ++x // x 전위형을 y 로 넘겨줬을 때 console.log(x , y); //x = 1, y = 1 number++후위증감연산자(후위형) let x = 0; let y = x++ // x 후위형을 y 로 넘겨줬을 때 console.log(x , y); //x = 1, y = 0 3. 복합할당(대입)연산자 x= x + 1 => x += 1 //덧셈 할당 x= x - 1 => x -= 1 //뺄셈 할당 x= x * 1 => x *= 1 //곱셈 할당 x= x / 1 => x /= 1 //.. 2022. 12. 4.
[javascript]형변환 1. 암시적 형변환 문자열로된 숫자 / 숫자 했을경우 자동으로 숫자형으로 변환됨(+는 제외한 나머지 연산들은 가능) ex) "6" / 2 = 2(숫자형으로 값이 나옴) "6" + 3 = '63' //문자열로 더해짐 "6" - 3 = 3 // 숫자형 자동변환 "6" * 3 = 18 // 숫자형 자동변환 "6" / 3 = 2 // 숫자형 자동변환 2. 형변환 + 연산자 1) number 타입으로 변환하기 ∵ number() let x = "3"; Number(x); 3 // 숫자형으로 변환됨 ∵ parselnt() let x = "112s"; let i = "s112"; let z = 3.1415; parseInt(x); 112 // 숫자형으로 값이 나옴 parseInt(i); NaN //NaN으로 값이 나.. 2022. 12. 4.
[javascript]데이터 타입 기본형(primitive) 타입 1. number(숫자형) 정수 및 부동소수점 숫자를 나타냄 범위는 -2/53-1 ~ 2/53-1 타입 결과값을 확인하기위해 콘솔창에 출려해봄!!!! console.log(typeof(3)) //콘솔창에 타입 확인해봄 "number" 2. biglnt let number1= 2132143254353453453n; n을 붙이면 bigInt 로 변함 타입 결과값을 확인하기위해 콘솔창에 출려해봄!!!! console.log(typeof(2132143254353453453n)) 3. string(문자열) 1) let str = "a" 큰따옴표 2) let str = 'a' 작은따옴 →자바스크립트에는 문자열을 표현할 때 큰따옴표 작은따옴표 상관없이 사용해도됨 타입 결과값을 확인하기.. 2022. 12. 4.
[javascript]변수와 상수 엄ㅁㅁㅁㅁㅁ청 자주봄 거의 가족!!! 변수: 데이터를 담는 값(변하는 값) 상수: 변하지 않는 값을 가진 변수 (변하지 않음) ·변수 키워드 var(요즘에는 잘 사용 안한다함) let(자주 사용함) ·상수 키워드 const(자주 사용함) 변수 선언!! 1. var var a = "Hello World" function(함수) 단위의 scope(변수의 유효범위: 해당 변수가 접근할 수 있는 변수, 객체, 함수) 같은 변수명 여러번 쓸 수 있지만 다양한 사람들과 공유하다보면 헷갈려서 오류발생함 (요즘에는 자주 사용 안함) 호이스팅: 제일 위로 끌어올림(코드내에서)!!!!!! 블록안에 var변수 있을경우 블록 밖에서 호출하면 응답함. 다른변수(let,const) 불가능 위에서 호출하고 바로아래 var코드써서 .. 2022. 12. 4.
[javascript]화면에 나타내기(호출/출력) 자바스크립트 화면에 나타내는방법(호출/출력) 1. window.alert(), alert() 경고창으로 나타냄 alert("경고창입니다"); See the Pen Untitled by namminimi (@namminimi) on CodePen. 2. document.write() 사이트에 나타냄 document.write("안녕") See the Pen Untitled by namminimi (@namminimi) on CodePen. 3. console.log() 사이트 콘솔창에 나타냄 -- (자신이 작성한 코드 확인하기 위해 자주 사용) console창 띄우는법 : 1)화면 우클릭 해서 검사 > console클릭 / 2) F12/ 3) ...세로정렬 클릭> 도구 더보기> 개발자 도구(크롬) cons.. 2022. 12. 4.
728x90
반응형