Javascript 43

1. 데이터 타입의 종류 및 메모리

데이터 타입(심화), 실행 컨텍스트, this 1.데이터 타입 - 1. 기본형 : 값이 담긴 주소값을 바로 복제 - Number, String, Boolean, null, undefined, Symbol(es6) - 2. 참조형 : 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제 - object - Array, Function, Date, RegExp, Map, WeakMap, Set, WeaKset 두가지로 나뉘는 기준은 값의 저장 방식과 불변성 여부 다. 불변성의 여부 - 1. 기본형 : 불변성을 띔 - 2. 참조형 : 불변성을 띄지 않음 ~ 불변성 여부는 우리가 이해하기 어렵기 때문에 메모리와 데이터에 관한 배경 지식이 필요하다. 2. 메모리와 데이터에 관한 배경지식 - 1. 메모리, ..

JavaScript/3주차 2023.05.24

6. Set 소개 및 예시코드 연습

Set 1. 고유한 값을 저장하는 자료구조 2. 값만 저장 3. 키를 저장X 4. 값이 중복되지 않는 유일한 요소로만 구성 5. 값 추가, 검색, 값 삭제, 모든 값 제거, 존재 여부 확인 값 추가 const mySet = new Set(); mySet.add('value1'); 예시 const mySet = new Set(); mySet.add('value1'); mySet.add('value2'); mySet.add('value2'); console.log(mySet.size); 위와 같을 때 mySet의 사이즈는 Map이었음 3으로 나오지만 Set은 2로 나온다. 중복된 값은 추가가 되지 않는다. 값을 기반으로 검색 console.log(mySet.has('value1')); console.log(..

JavaScript/2주차 2023.05.23

5. Map 소개 및 예시코드 연습

1. Map, Set의 목적 - 데이터의 구성, 검색, 사용을 기존의 객체 또는 배열보다 효율적으로 처리 1. Map - key - value - key에 어떤 데이터타입도 다 들어올 수 있다. - Map은 키가 정렬된 순서로 저장되기 때문에 모든 타입이 들어올 수 있는거다. - 기능 : 검색, 삭제, 제거(완전한 제거), 여부 확인 //넣는법 const myMap = new Map(); myMap.set('key','value'); //검색 myMap.get('key'); - 반복을 위한 api -> 반복이 가장 중요 - Map의 반복 -> method : keys, values, entries - 반복문은 아래와 같은 모양을 가지고 있다. //for ( of ){} for(const key of my..

JavaScript/2주차 2023.05.23

4. 일급 객체로서의 함수 2

this는 자기자신을 가리킨다. 그래서 아래 person함수안에서 사용하는 this는 person내의 것들을 가리킨다. 즉 person.name인 this.name은 john을 가리킨다. const person = { name:'john', age: 30, isMarried: true, sayHello:function(){ console.log('hello, my name is ' + this.name); }, }; person.sayHello(); 출력 : hello, my name is john sayHello 부분을 화살표함수를 사용하면 아래와 같은 코드가 나오는데, 결과는 undefined가 나온다. const person = { name:'john', age: 30, isMarried: true..

JavaScript/2주차 2023.05.23

3. 일급 객체로서의 함수 1

JS에서 함수는 일급객체라고 한다. - 다른 객체들과 일반적으로 같다라고 생각하면 된다. 다른 프로그래밍 언어와 다르게 함수를 매우 유연하게 사용할 수 있다. 실습 일급객체로서의 함수 1. 변수에 함수를 할당 할 수 있다. - 특징 - 함수가 마치 값으로 취급한다. - 함수가 나중에 사용될 수 있도록 조치가 되어있다. const sayHello = function () { console.log("hello"); }; 2. 함수를 인자로 다른 함수에 전달 할 수 있다. 2-1. 콜백함수 : 매개변수로서 쓰이는 함수 2-2. 고차함수 : 함수를 인자로 받거나 return하는 함수 function callFunc (func) { //매개변수로 받은 변수가 사실, 함수다. func(); } const sayHe..

JavaScript/2주차 2023.05.23

2. ES6 문법 소개 및 실습 2

1. 단축 속성명 // 단축 속성명 : property shorthand //정말 많이 쓰임 const name = "ab"; const newAge = "30"; const age = "20"; //key - value const obj = { name, //스펠링이 같은 경우 과감히 생략가능 age: newAge //스펠링이 다른 경우 생략x } //단축 속성명을 쓴 경우 const obj2 = {name, age}; 2. 전개 구문 - spread operator - destructuring과 함께 가장 많이 사용되는 es6 문법 중 하나이다. let arr = [1,2,3]; console.log(arr); console.log(...arr); 출력 : [1, 2, 3] 1 2 3 이건 아래와 같..

JavaScript/2주차 2023.05.23

1. ES6 문법 소개 및 실습 1

1. 각종 ES6 문법 소개 - JavaScript 버전 중 하나 - 2015년에 발표 - 보다 쉽고 효율적으로 코드 작성 - 대규모 문법적 향상 및 변경 -1. let , const - 이건 직접 코드를 작성해서 확인해보겠습니다. - 2015년도 이전 => var - 1. es6 => let, const - 1_2. arrow function - 첫번째 방법 function add () { //메인로직 } - 두번째 방법 var add = function () { //메인 로직 } - arrow 화살표 방법 var add = () => { return 1; } 또는 return 이 있는 한줄이면 var add = (x) => 1; - 1_3. 삼항 연산자 //condition ? true : false..

JavaScript/2주차 2023.05.23

16. 1주차 끝 숙제

1. 문자열 연습하기. - 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p' 의 개수와 'y'의 개수를 비교해 둘이 같으면 true, 다르면 false를 return 하는 solution을 완성해주세요. 'p'와 'y' 모두 하나도 없는 경우 항상 true를 return 합니다. 개수를 비교할 때 대문자와 소문자를 구별하지 않습니다. function solution(s){ let result = true; s = s.toUpperCase(); let num = 0; for(let i = 0; i < s.length; i++){ if(s[i] ==='P') num++; if(s[i] === 'Y') num--; } if(num === 0) result = true; else result = ..

JavaScript/1주차 2023.05.23