Вид конвертиране, JavaScript

открита конверсия

Преобразува се

Номер () функция преобразува стойностите в съответствие със следните правила:

  • Булеви стойности вярно и фалшиво превръща в 1 и 0, съответно.
  • Numbers върнати непроменени.
  • Стойност 0 се превръща в нула.
  • Неопределен стойност се превръща NaN.

За струни, се прилагат специални правила:

  • Ако низът съдържа само номера с първоначалното "плюс" или "минус" или неподписани, тя винаги се превръща в десетично число.
  • Ако низът съдържа стойност с плаваща точка в правилния формат, тя се превръща в съответното число с плаваща точка.
  • Ако низът съдържа шестнадесетичната стойност в правилния формат, тя се превръща в съответния цяло число.
  • Ако низът е празен, то се превръща в 0.
  • Ако низът съдържа нещо по-различно от предишните версии, тя се превръща в NaN.

За обекти, наречен метод valueOf () и върнатата стойност се превръща в тях при предходния режим. Ако тази реализация води до метод за NaN, наречена ToString () и правилата за преобразуване линии в брой.

Превръщането в ред

Функция String () винаги се връща низ, независимо от стойността, получена. Тя работи по следния начин:

  • Ако стойността е с ToString се извиква () метод (без аргументи) и след това се връща резултата.
  • "Null" низ се връща на нула стойност.
  • "Неопределен" низ се връща за стойността неопределено.

Превръщането в логически стойности

Булева () функция преобразува стойността на логическата еквивалент. Тя работи по следния начин:

  • Следните стойности като резултат от стойността на реализацията дал невярна: неопределени, нулеви, 0, -0, NaN ",".
  • Всички други стойности в превръщането водят на стойност истина.

Преобразуване на прости стойности на обекти

За да се превърне стойности на прости предмети, използвани в конструктори булеви (), номер (), String ():

Конвертиране на обекти, за да прости ценности

Всички обекти наследят две преобразуване метод: ToString () и valueOf ().

ToString () метод връща низ представяне на обекта. По подразбиране това е нищо особено интересни връща:

Много видове са с по-специализирана версия на ToString на метод (). Например, ToString () метод превръща всички елементи видове Array масив за струнни и комбинира резултатите в един низ, поставяне запетаи между тях.

Метод Задача valueOf () не е определено така ясно: предполага се, че той трябва да конвертирате обекта по представяне на своя прост смисъл, ако съществува такава стойност. Обекти в природата са произволни числа, а повечето от обектите не могат да бъдат представени като един прост стойност, толкова по стандартния метод valueOf () връща проста стойност, а на обекта (препратка към него):

  • Ако обектът е метод ToString (), преводачът го причинява. Ако тя се връща един прост стойност, преводачът преобразува стойността в низ (ако не е низ) и връща резултата от конверсията.
  • Ако обектът не е метод ToString () и този метод не се връща проста стойност, проверките на преводач за valueOf на метод (). Ако е зададен този метод, преводачът го причинява. Ако тя се връща един прост стойност, преводачът преобразува стойността в низ (ако не е низ) и връща резултата от конверсията.
  • В противен случай, преводачът установи, че не ToString () или valueOf () не се даде еднозначен стойност и хвърля Тип грешка.

Когато преобразувате обект в броя на черупка прави същото, но първите опити да се приложи методът valueOf ():

  • Ако обектът е valueOf () метод връща проста стойност, превръща преводачи (ако е необходимо) на стойността на броя и връща резултата.
  • Ако обектът не е valueOf () метод или методът не връща проста стойност, проверките на преводач за метод ToString (). Ако обектът е ToString () метод връща прост стойност, интерпретатор извършва превръщането и връща получената стойност.
  • В противен случай, преводачът установи, че не ToString () или valueOf () не се даде еднозначен стойност и хвърля Тип грешка.

ToString () и valueOf () са на разположение за четене и писане, така че можете да замените превръщането на една проста стойност в обекти: