목록JS (21)
Día de Ruru
이제와서 해도 되는건지 의문이 들지만 이제라도 공부해야한다 class.. 자바스크립트는 class 기반의 언어가 아니라서 좀 소홀하게 생각하고 있었는데 개발을 진행하다보니 class 공부를 안하고 넘어갈 수가 없었다.. 실전프로젝트 들어간 이시점에서 이래도 되나 싶지만 그래도 화이팅..!! Class 정의하기 클래스 몸체에 정의할 수 있는 메서드는 constructor, 프로토타입 메서드, 정적 메서드 세가지가 있다. class User { constructor(){ //constructor } sayHi () { //프로토타입 메서드 console.log("Hi") } static sayHello(){ //정적 메서드 console.log("hello") } } 클래스는 생성자 함수이며 new 연산자로..
node 공부하다가 다시 자바스크립트 기초 공부하고 그러다가 다시 node 공부하고... 또 자바스크립트 다시 보고....또 .....흑 구조분해 할당 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 표현식 이다 배열 구조분해 할당 배열 구조분해할당의 구문은 좌변에 리터럴 표현식을 사용하여 원래 변수에서 어떤 값을 분해해 할당할 지 정하면 된다! 아래의 경우 각각 1,2,3이 출력된다. let a = 1, let b = 2, let c = 3 과 같은 결과 값이 나온다. let [a,b,c] = [1,2,3] console.log(a) console.log(b) console.log(c) 우변에 직접 배열을 입력하는게 아니라 특정 배열의 변수명을 사용해줘도..

동기와 비동기 자바 스크립트엔진은 싱글 스레드로 동작한다. 싱글 스레드로 작업을 수행하는 것의 장점은 프로그래밍의 난이도가 상대적으로 쉽고, 일반적인 상황에서 멀티 스레드로 작업하는 것보다 비용이 적으며 속도가 빠르다는 것이 있다. 단점으로는 연산량이 많거나 구조적으로 시간이 걸리는 작업을 하는 경우, 그 작업이 완료되어야 다른 작업을 수행할 수 있다는 것과 에러에 신경을 더 써야한다는 것이다. 비동기 작업은 싱글스레드의 단점 중 작업이 완료되어야 다른 작업을 수행할 수 있다는 점을 보완해준다. 아래 그림은 비동기 과정의 런타임 요소들이다. 그림이 허접하지만 귀여우니까 괜찮아 Call Stack: 자바스크립트에서 수행해야 할 함수들을 순차적으로 스택에 담아 처리 Web API: 웹 브라우저에서 제공하는 ..
this 생성자 함수를 만들 때 생성자 함수를 정의하는 시점에는 아직 인스턴스를 생성하기 이전이므로 생성자 함수가 생성할 인스턴스를 가리키는 식별자를 알 수 없다. 이때 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 특별한 식별자로 this를 사용한다. 함수가 호출되면 this가 암묵적으로 함수 내부에 전달되며 this도 지역변수처럼 사용할 수 있다. 다른 언어(자바, C++ 등)에서 this는 항상 클래스가 생성하는 인스턴스를 가리키지만 자바스크립트에서의 this는 함수가 호출되는 방식에 따라 this에 바인딩 되는 값이 동적으로 결정된다. 일반 함수로 호출했을 때의 this 일반 함수로 호출된 모든 함수 내부의 this 에는 전역 객체가 바인딩된다. 아래의 경우 일반 함수로 호출된 bar(..
데이터 타입 다른 언어에서는 어떻게 데이터 타입을 정의 할까요? C나 자바와 같은 정적타입언어에서는 변수를 선언할 때 변수에 할당할 수 있는 값의 데이터 타입을 사전에 선언해야 한다. (명시적 타입선언) 다른 언어들처럼 데이터 타입을 다룬다면 장단점은 무엇이 있을까요? 코드를 작성하는 시간이 오래 걸리고 처음 익히는데에 어려움이 있지만 정적 타입 언어는 컴파일 시점에서 타입 체크를 하기 때문에 런타임에 발생하는 에러를 줄일 수 있다. 크고 복잡한 프로젝트에 적합하다. 기본형 데이터와 참조형 데이터를 굳이 왜 구분해서 다룰까요? 혹시 하나의 방식으로 다 다룰수는 없을까요? 기본형 데이터는 원시값의 데이터 형식이다. 원시값은 예기치 않게 변수 값이 변경되는 상황을 피하기 위해 불변성을 갖고 있다. 어떤 변수..
와 오늘 공부해야될 양 왜이렇게 많니.....ㅠㅠㅠㅠ 힘내~~~ 이겨내~~~~~~ 1. 배열 순서가 있는 컬렉션을 다뤄야 할 때 객체를 사용하면 순서와 관련된 것이 없어서 사용하기가 불편하다. 이때 사용해주는 것이 배열이다. 배열은 [1,2,3,4] 이렇게 사용한다. let arr = new Array() 를 쓰거나 let arr = [] 를 쓰면 빈 배열을 만들 수 있다. 배열 끝부분 수정하기 pop은 배열의 끝에 있는 요소를 삭제 하며 push는 배열의 가장 끝에 요소를 추가한다. let fruits = ["사과", "오렌지", "배"]; console.log( fruits.pop() ); fruits.push("배"); console.log( fruits ); 배열 앞부분 수정하기 shift는 배열..