Language/JavaScript

자바스크립트 for문 순회 메서드 종류개요자바스크립트에는 배열이나 유사 배열 객체를 순회할 때 사용할 수 있는 다양한 메서드가 존재한다.이 글에서는 for, forEach, map, filter, reduce, for...of에 대해 알아볼 것이다.+ 유사 배열 객체란?유사 배열 객체(Array-like-object)란 배열처럼 동작하지만 진짜 배열(Array)은 아닌 객체를 말한다.이 객체들은 다음과 같은 특성을 갖는다.인덱스와 길이 속성 : 유사 배열 객체는 length 속성을 가지며, 정수형 인덱스를 갖고 있다.배열 메서드 미지원 : push, pop 같은 대부분의 배열 메서드와 속성을 직접적으로 사용할 수 없다. 만약 사용하고 싶다면 Array.prototype에 있는 메서드들을 호출하며 객체를 ..
자바스크립트 배열의 특정 요소 제거(splice)개요아쉽게도 자바스크립트에는 파이썬의 remove 같은 편리한 메서드가 존재하지 않는다. 따라서 자바스크립트에서 배열의 특정 요소를 제거하고자 한다면 splice 메서드를 사용해야 한다. 이 글에서는 splice 메서드를 통해 배열의 특정 요소를 제거하는 방법을 알아본다.splice로 배열의 특정 인덱스 제거splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.slice() 메서드와는 다르게 원본 배열의 변경을 일으킨다는 점에 주의하자.만약 원본 배열을 건드리지 않고 특정 인덱스를 제거한 새 배열을 반환하고 싶다면 filter 메서드를 이용해야 한다.splice 사용 구문array.splice(star..
JS에서 문자열이 숫자인지 아닌지 판별하는 방법개요► 이 글에서는 JavaScript에서 문자열이 숫자인지 아닌지에 대한 여부를 알 수 있는 방법에 대해 설명한다.► 프로그래머스 Lv1의 문자열 다루기 기본 문제를 풀며 익힌다.프로그래머스 문자열 다루기 문제프로그래머스의 Lv1. 문자열 다루기 기본 문제는 다음과 같다.문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.문자열이 모두 숫자로 구성되어있는지 확인하는 문제다. 처음에는 다음과 같이 isNaN()을 사용한 코드를 짰다.function solution(s) { return (s.length ..
얕은 복사(Shallow copy)와 깊은 복사(Deep copy)개요이 글에서는 자바스크립트의 얕은 복사와 깊은 복사가 무엇인지에 대해 알아본다.얕은 복사와 깊은 복사란?얕은 복사는 바로 아래 단계의 값만 복사하는 방법이고, 깊은 복사는 내부의 모든 값들을 하나하나 찾아서 전부 복사하는 방법이다.var copyObject = function (target) { var result = {}; for (var prop in target) { result[prop] = target[prop]; } return result;};위의 코드에서 copyObject는 얕은 복사만 하는 함수다.중첩된 객체에서 참조형 데이터가 저장된 프로퍼티를 복사하는 경우에는 그 주솟값만 복사한다. 그렇게되면 해당 프로..
불변 객체를 만드는 방법개요이 글에서는 불변 객체가 무엇인지 알아보고 더 나아가 불변 객체를 어떻게 만드는지 알아본다.불변 객체란?불변 객체(immutable object)는 말 그대로 변하지 않는 객체다.이전 포스팅에서 서술했듯이 참조형 데이터의 가변성은 내부 프로퍼티를 변경할 때만 성립하고, 데이터 자체를 통째로 변경하고자 하면 기본형 데이터와 마찬가지로 기존 데이터가 변하지 않는다.이 점을 활용한다면, 내부 프로퍼티를 변경할 때마다 매번 새로운 객체를 만들어 재할당하여 불변 객체를 만들 수 있다.불변 객체는 왜 필요한가?불변 객체가 필요한 이유를 알기 위해서 객체의 가변성에 따른 문제점을 알아보자.var user = { name: '쫀쪼', gender: '여성',};var changeName ..
변수 복사 비교 변수 복사 var a = 10; var b = a; var obj1 = { c: 10, d: 'ddd' }; var obj2 = obj1; 데이터 할당 과정은 이전 포스팅에서 내내 설명한 것과 동일하다. 2023.04.06 - [Web] - [자바스크립트] 변수 선언과 데이터 할당 원리 이해하기 [자바스크립트] 변수 선언과 데이터 할당 원리 이해하기 변수와 식별자 변수(variable)은 말 그대로 변할 수 있는 데이터를 말한다. 숫자, 문자열, 객체, 배열이 모두 변수가 될 수 있다. 식별자는 어떤 데이터를 식별하는 데에 사용하는 이름, 즉 변수명이 jyostudy.tistory.com 2023.04.06 - [Web] - [자바스크립트] 불변값과 가변값의 차이 [자바스크립트] 불변값과..
불변값 변수(variable)와 상수(constant)를 구분하는 성질은 '변경 가능성'이다. 바꿀 수 있으면 변수 바꿀 수 없으면 상수다. 그렇다고 해서 상수 == 불변값이냐?? 놉. 둘은 다른 개념이다. 변수와 상수를 구분하는 '변경 가능성'은 변수 영역 메모리다. 한 번 데이터 할당이 이뤄진 변수 공간에 다른 데이터를 재할당할 수 있는지 여부가 관건이다. 반면 불변성 여부를 구분할 때의 변경 가능성은 데이터 영역 메모리다. 기본형 데이터인 숫자, 문자열, boolean, null, undefined, Symbol은 모두 불변값이다. 앞서 변수 선언과 데이터 할당에 대해 공부할 때 'Hello world!'를 'Hello!'로 바꾸고 싶다면 컴퓨터는 새로운 메모리 공간에 새로 'Hello!'를 저장하..
변수와 식별자 변수(variable)은 말 그대로 변할 수 있는 데이터를 말한다. 숫자, 문자열, 객체, 배열이 모두 변수가 될 수 있다. 식별자는 어떤 데이터를 식별하는 데에 사용하는 이름, 즉 변수명이다. 변수 선언 동작 원리 자바스크립트에서는 변수를 let 키워드를 사용해 생성한다. 변수 선언 let message; 위의 코드는 message라는 변수를 선언하는 것이다. 이 한 줄은 변할 수 있는 데이터를 만든다. 이 데이터의 식별자는 message이다. 라는 의미를 갖는다. 변수는 결국 데이터가 담기는 그릇이라고 생각하면 된다. 위의 명령을 받은 컴퓨터는 메모리에서 비어있는 공간 하나를 확보해서 그 공간의 이름(식별자)를 message라고 저장한다. 여기까지가 변수 선언 과정이다. 이후에 사용자가..
정쫀쪼
'Language/JavaScript' 카테고리의 글 목록 (2 Page)