首頁 > web前端 > js教程 > 主體

JS - 關於字串原語的一切

WBOY
發布: 2024-08-28 06:11:33
原創
1009 人瀏覽過

JS - All about String Primitive

  • 字串是基元,但它們仍然具有可在物件上使用的方法。
  • 每當我們呼叫字串上的方法時,JS 都會在後台將 String 原語轉換為 String 對象,然後在該物件上呼叫方法。這個過程稱為裝箱,因為 String 基元被取出並放入充當盒子的 String 物件內,即它將參數傳遞到「new String()」方法內,將字串基元轉換為字串物件。
  • 操作完成後,物件會在背景從 String 物件轉換回 String 基元。
  • 傳遞到「new String()」的任何內容都會成為可以使用 typeof 運算子進行驗證的物件。
const car = 'Lamborghini Huracan EVO';

// Similarity of strings with arrays in JS
car[0];
car[car.length-1];
car.length;

// From begin
car.indexOf('o');
car.indexOf('Huracan');

// From end
car.lastIndexOf('E');

// index(begin, end) are used to extract part of string which are then passed to slice() as argument.
car.slice(car.indexOf('o'));
car.slice(8);
car.slice(8,15);  // Extracted string length will be (end-begin) as mentioned below

// String are primitives, hence immutable. Always use a data-structure to return a new string after the operation.

// Extract till a particular location inside an index.
car.slice(0, car.indexOf(' '));

// Extract the last word.
car.slice(car.lastIndexOf(' ')); // extracts along with space
car.slice(car.lastIndexOf(' ') + 1); // +1 added to exclude the space

// Extract from the end using negative values
car.slice(-7);
car.slice(1, -1);
car.slice(0, -1);

function knowYourSeatLocation(seat){
  const x = seat.slice(-1);
  if(x === 'W'){     console.log("Window Seat");  }
  if(x === 'M'){    console.log("Middle Seat");  }
  if(x === 'A'){    console.log("Aisle Seat");  }
}
knowYourSeatLocation('43W');
knowYourSeatLocation('12A');
knowYourSeatLocation('67M');

// Common Methods:
car.toLowerCase();
car.toUpperCase();
car.trim();
car.trimStart();
car.trimEnd();

// Methods returning boolean: Very good for conditional statements.
car.includes('Lambo');
car.startsWith('Lam');
car.endsWith('EVO');

// On taking user i/p convert it to lowercase before performing any operations on the text. It would eliminate a lot of error sources related to letter-case.

// Usage: Converting first letter to uppercase incase user enters name in mixed case to maintain consistency
// Usage: Email validation for characters esp whitespace, invalid characters etc.

// String replacement: (ToBeReplaced, ReplceWith)
// replace() : A case-sensitive method. Immutable Methods for functional Programming:
car.replace(' ','_');
car.replaceAll(' ','_');

// Using RegEx: Target text has to be enclosed between // with flag at the end. Desired text to be passed as second argument.
car.replace(/ini/g,'123456');

// .split(): split the text based on condition, return the elements in the form of an array
// .join(): opposite of .split()
car.split(''); // as characters
car.split(' '); // as words
car.split('i'); // based on a character

// Destrucutring makes it easier as compared to using .slice()
const name = 'Peter Parker';
const [fName, lName] = name.split(' ');
fName;
lName;

//  Adding saluttations to the name:
const title = ['Mr.', fName, lName.toUpperCase()].join(' ');
title;

// Usage: First letter of a Name capitalization
const capitalizeName = function(name){
  const names = name.split(' ');
  const namesUpper = [];

  for(const n of names){
    // Method 1 and Method 2 are listed below in two lines. Both work.
    // namesUpper.push(n[0].toUpperCase() + n.slice(1));
    namesUpper.push(n.replace(n[0],n[0].toUpperCase()));
  }
  console.log(namesUpper.join(' '));
};

capitalizeName('amar akbar anthony amarjeet');


// Padding a string i.e adding certain characters until a desired length is achieved.
// (DesiredLength, ToBePaddedWith)
const msg = 'Welcome to JS';
msg.padStart(20,'x');
msg.padEnd(20,'x');

// Convert a no into its string form by using: String()
// Another way is to add an '' to a number i.e When one operand of a + sign is string, all operands are converted into string form.

// Usage: Masking certain numbers of important documents
const maskedId = function(id){
  const str = id + '';
  const lastFour = str.slice(-4);
  return lastFour.padStart(str.length, '*');
}
maskedId(92837483297492);
maskedId('r438t7h4irgrgTAFE');


// repeat(NoOfTimeToBeRepeated) : Repeat the same text multiple times
const msgText = 'Raining.\n';
msgText.repeat(5 );

const TrainsWaiting = function(x){
  console.log(`There are ${x} trains waiting on the station ${'?'.repeat(x)} \n`);
}

TrainsWaiting(4);
TrainsWaiting(16);
TrainsWaiting(8);

// Extract string from a long text received from an API based on some separator found in text.
const data = 'Departure';

登入後複製

以上是JS - 關於字串原語的一切的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板