Вид конвертиране, 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 () са на разположение за четене и писане, така че можете да замените превръщането на една проста стойност в обекти: