본문 바로가기

javascript

(26)
[JS중급] 문법과 표현 문법과 표현문장(statements)과 표현식(expressions)문장 : 어떤 동작이 일어나도록 작성된 최소한의 코드 덩어리표현식 : 결과적으로 하나의 값이 되는 모든 코드조건을 다루는 표현식삼항 연산자 : if문보다 간단하지만, 조건에 따라 변수를 선언하거나 반복문 실행은 X(모든 if문 대체 불가)[조건] ? [truthy할 때 표현식] : [falsy할 때 표현식]score > CUT_OFF? '합격!' : '불합격!';Spread 구문rest 파라미터와 차이점 : rest는 여러 개의 파라미터를 하나로 묶는 방식이고, spread는 하나로 묶인 값을 각각의 개별값들로 펼치는 방식주의사항 : 새로운 배열을 만들거나 함수의 아규먼트로 사용이 가능하지만, 객체로는 새로운 배열을 만들거나 함수의 아규..
[JS] 간단한 문제 풀이(팩토리얼, 거스름돈 구하기, 팰린드롬) 팩토리얼function factorial(n) { let result = 1; if(n !== 0){ // 만약 n이 0이 아니라면 // i는 1부터 n까지 1씩 증가하면서 result와 곱셈 실행(팩토리얼 연산) for(let i = 1; i거스름돈 구하기function calculateChange(payment, cost) { let change = payment - cost; let tTh5 = 0 // 5만원 let tTh1 = 0 // 1만원 let th5 = 0 // 5천원 let th1 = 0; // 1천원 // change가 0이 될 때까지 반복 while(change !== 0){ if(change >= 50000){ /..
[JS중급] 함수 다루기 함수 다루기함수 생성함수 선언(Function Declaration) : 함수 선언 전 호출 가능(호이스팅) | 보통은 이 방법 사용함수 표현식(Function Expression) : 함수 선언을 변수에 할당(값처럼 사용) | 변수 특성상 선언 이전에 접근 불가기명 함수 표현식 : 함수 표현식으로 함수 생성시 함수에 이름을 붙여줌 | 함수 이름은 함수 내부에서 함수 자체를 가리킬 때 사용할 수 있고, 함수를 외부에서 함수를 호출할 때 사용할 수는 없음 | 함수 내부에서 함수 자신을 사용하려고 할 땐 함수표현식에선 반드시 기명 함수 표현식을 사용하는 것이 좋음// 1. 함수 선언(Function Declaration)function 함수이름(파라미터) { 동작 return 리턴값;}// 2. 함수 표..
[JS중급] 자바스크립트 동작 원리 자바스크립트 동작 원리모던 자바스크립트? ECMAScript : JS 표준 명세서 (공식문서)데이터 타입의 특징과 종류JS의 경우, 다른 언어들보다 좀 더 유연하게 데이터 타입 지정 가능number, string, boolean, null, undefined, object | symbol(유일값), bigint(엄청 큰 숫자)// Symbol -> 다른 어떤 값과 비교해도 true가 될 수 없는 고유한 변수가 됨const user = Symbol('this is a user');user === 'this is user'; // falseuser === true; // falseuser === false; // false// 똑같은 설명을 붙인 심볼을 만들어도 두 값을 비교하면 false 반환const s..
[JS기초] 객체 지향 프로그래밍 객체 지향 프로그래밍추상화 : 어떤 구체적인 존재를 원하는 방향으로 간략화해서 나타내는 것주의 : 클래스, 프로퍼티, 메서드 이름을 잘 지어야 함... 직관적이고 쉽게캡슐화 : 객체의 특정 프로퍼티에 직접 접근하지 못하도록 막는 것 ~> 특정 메서드를 통해 접근함프로그래밍에서 보통 숨기고자 하는 프로퍼티 앞에 언더바(_)를 붙임 | ex. _nameJS에선 캡슐화를 자체적으로 지원하는 문법은 아직까진 없다... (자바의 경우 private를 통해 지원)class User { constructor(email, birthdate) { this.email = email; this.birthdate = birthdate; } buy(item) { console.log(`${this.emai..
[JS기초] 객체와 클래스 객체 지향 프로그래밍? 객체 간의 상호작용을 중심으로 하는 프로그래밍 | 오늘날 많이 사용하는 방법객체? 실제 존재하는 무언가변수 : 객체의 상태를 나타냄(프로퍼티)함수 : 객체의 행동을 나타냄(메소드)절차 지향 프로그래밍 : 변수와 함수를 가지고 작업 순서에 맞게 코드를 작성하는 것 | 이전까지는 이 형태를 사용Object Literal : 객체를 나타내는 문자열// 중괄호를 쓰고 그 사이에 프로퍼티와 메서드를 넣음const user = { email : 'duran@gmail.com', birthdate : '1999-11-10', buy(item){ console.log(`${this.email} buys ${item.name}`); },}Factory functi..
[JS기초] 자료형 심화 자료형 심화다양한 숫자 표기// 지수 표기법let a = 1000000000;let b = 1e9;console.log(a === b);>> true // a와 b는 같은 의미console.log(25e5 === 2500000); >> trueconsole.log(5.3e3 === 5300); >> trueconsole.log(-6.1e8 === -610000000); >> trueconsole.log(16e-5 === 0.00016); >> trueconsole.log(3.5e-3 === 0.0035); >> trueconsole.log(-9.1e-5 === -0.000091); >> true// 16진법let hex1 = 0xff; // 255let hex2 = 0xFF; // 255// 8진법let..
[JS기초] 객체 | 배열 객체객체와 프로피터객체 : 중괄호로 생성 | 쉼표로 구분프로피터 : 중괄호 안에 있는 속성name 주의사항 : 첫번째 글자는 반드시 문자, 밑줄, 달러 중 하나로 시작 | 띄어쓰기&하이픈 금지 → 규칙을 벗어난다면 반드시 따옴표로 감싸줘야 함value는 모든 자료형 가능 | value 안에 객체 생성 가능객체에서 데이터 접근하기존재하지 않는 값은 undefined// 객체 생성let study = { name: '메롱', 'born Year': 2017, isVeryNice: true, worstCourse: null, bestCourse: { title: '자바스크립트 프로그래밍 기초', language: 'JS' }};// 점 표기법 (objectName.propertyNmae)console.lo..