본문 바로가기

Study

(114)
JS 배열 비교하기 단순 비교 JSON.stringify 로 문자열로 변경 후 비교하기 const arr1 = ['1','2','3','4','5']; const arr2 = ['1','2']; console.log(JSON.stringify(arr1) === JSON.stringify(arr2)); // false 교집합 filter 와 includes 사용 arr2에 includes 함수를 통해서 arr1의 값(x)이 있으면 true, 아니면 false를 반환하여 arr1의 filter 함수를 통해 true 값만 걸러내 새로운 배열을 만든다. const arr1 = ['1','2','3','4','5']; const arr2 = ['1','2']; console.log(arr1.filter(x => arr2.includ..
문자열에서 첫번째, 마지막 문자 가져오기 CharAt() 함수 이용하기 charAt() 함수는, 전달된 파라미터의 index에 위치한 글자를 리턴한다. let str = "문자열가져오기" let firstChar = str.charAt(0); let secondChar = str.charAt(1); let lastChar = str.charAt(str.length-1); console.log(firstChar); // 문 console.log(secondChar); // 자 console.log(lastChar); // 기 Substr() 함수 이용하기 string.substr(start, length) substr() 함수는, 파라미터로 입력받은 start index부터 length 길이만큼 string을 잘라내어 반환하는 함수이다. let ..
프로퍼티 프로퍼티 규칙 프로퍼티를 나열할 때는 쉼표(,)로 구분한다. 프로퍼티의 키는 문자열이므로 반드시 (""), ('') 따옴표로 묶어야한다. 하지만 식별자 네이밍 규칙을 준수하는 이름은 생략할 수 있다. 식별자 네이밍 규칙을 따르지 않는 이름에는 반드시 따옴표로 묶어야한다. let person = { firstName = "Yongjun", last-name = "Lee", // SyntaxError: unexpected token } 프로퍼티 중복 선언 이미 존재하는 프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 먼저 선언한 프로퍼티를 덮어쓴다. (에러가 나지않음) let foo = { name: 'Lee', name: 'Kim' } console.log(foo) // {name:'Kim'} 프로퍼..
객체 JS는 객체 기반의 프로그래밍 언어이며, JS를 구성하는 모든것이 객체이다. (원시값을 제외한) 객체는 0개 이상의 프로퍼티의 집합이다. let person={ name: 'Lee', -프로퍼티 age: 20, -프로퍼티 키 값 increase: function() { this.num++; - 메서드 } } 프로퍼티는 키와 값으로 구성되어 있다. 프로퍼티의 값이 함수일 경우 일반 함수와 구분하기 위해 메서드(method)라 부른다. 프로퍼티 - 객체의 상태를 나타내는 값(data) 메서드 - 프로퍼티를 참조하고 조작할 수 있는 동작 JS에서는 다양한 객체생성방법을 지원한다. 객체 리터럴 Object 생성자 함수 생성자 함수 Object.create 함수 클래스(ES6) 객체 생성방법중 가장 일반적이고 간..
ES6 let, const로 사용한다 (블록레벨 스코프(변수가 유효한 범위) 단위. 밖에서는 사용 불가). const = 재할당 불가 상수 : 기본적으로 모든 변수는 const로 선언한다. var = 호이스팅 문제로 사용하지 않음(선언부가 밑에있어도 위에서 끌어올려져서 할당은 되지않아도(undefined) 선언이나온다. for 문에서 선언해도 블록레벨 밖에서도 유효하다 화살표함수 const a = function() { console.log(a); } 였던 함수를 const a = () => { console.log(a); } 로 표현이 가능하다. const b = function () { return 3; } 라는 리턴만 있는 함수는 const b = () => 3 으로 표현이 가능 디폴트파라미터, 인수, 파..
옵셔널체이닝연산자 ES11 에서 도입된 옵셔널 체이닝 연산자. 좌항의 피연산자가 null또는 undefined인 경우 undefined를 반환하고, 그렇지 않으면 우항의 프로퍼티 참조를 이어나간다. var elem = null; var value = elem?.value; console.log(value); // undefined 옵셔널 체이닝 연산자가 도입되기 이전에는 논리연산자를 사용한 단축평가를 통해 변수가 null인지 undefined인지 확인했다. var elem = null; var value = elem && elem.value; console.log(value); // null 논리연산자 &&는 좌항 피연산자가 false로 평가되는 falsy값 (false, undefined, null, 0, -0, NaN..
반복문 반복문은 조건식의 평가 결과가 참인 경우 코드 블록을 실행한다. 이 조건식이 거짓일 때 까지 반복되어 실행된다. for문 for문은 조건식이 거짓으로 평가 될 때까지 코드 블록을 반복 실행한다. 반복횟수가 명확할 때 주로 사용한다. for문을 작성할때 만드는 변수 (i) 는 for문 { } 내부에서만 유효함. => 해당 { }를 벗어나면, 만든 변수는 사라지게 됨. => for문이 끝난 뒤에는 다시 같은 이름으로 변수를 만들어도 됨. => 이미 소멸되었으니 중복이 아님. for(변수 선언문또는 할당문; 반복수행조건식 ; 증감식) { 조건이 참인 경우 반복 실행할 내용 } while문 반복횟수가 불명확할 때 주로 사용한다. if와 구조가 거의 동일하고, 하는 행동도 거의 동일한 반복문. int i=0; w..
조건문 조건문은 주어진 조건식의 결과에 따라 코드블록의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다. Js에서는 if...else문과 switch문이 있다. if ...else문 if...else문은 조건식의 평가결과가 true일 경우 if문의 코드블록이 실행되고 false일 경우 else문의 코드블록이 실행된다. if (질문할내용:조건식-boolean이나올식으로작성) { // 질문에 통과했을때만 실행할 내용들 작성 } else if (앞의 질문 통과 X, 추가 보완 질문.) { // 통과하면 실행할 내용 } else if (앞의 질문 통과 X, 추가 보완 질문.) { // 통과하면 실행할 내용 // else if는 여러개 붙이는게 가능. (보완 질문 여러번 가능) } else { // ..